1 This is ../info/texinfo.info, produced by makeinfo version 4.8 from
4 INFO-DIR-SECTION Texinfo documentation system
6 * Texinfo: (texinfo). The GNU documentation format.
7 * install-info: (texinfo)Invoking install-info. Updating info/dir entries.
8 * texi2dvi: (texinfo)Format with texi2dvi. Printing Texinfo documentation.
9 * texindex: (texinfo)Format with tex/texindex. Sorting Texinfo index files.
10 * makeinfo: (texinfo)makeinfo Preferred. Translate Texinfo source.
13 This file documents Texinfo, a documentation system that can produce
14 both on-line information and a printed manual from a single source file.
16 Copyright (C) 1988, 90, 91, 92, 93, 95, 96, 97, 98 Free Software
19 This edition is for Texinfo version 3.12.
21 Permission is granted to make and distribute verbatim copies of this
22 manual provided the copyright notice and this permission notice are
23 preserved on all copies.
25 Permission is granted to copy and distribute modified versions of this
26 manual under the conditions for verbatim copying, provided that the
27 entire resulting derived work is distributed under the terms of a
28 permission notice identical to this one.
30 Permission is granted to copy and distribute translations of this
31 manual into another language, under the above conditions for modified
32 versions, except that this permission notice may be stated in a
33 translation approved by the Free Software Foundation.
36 File: texinfo.info, Node: Def Cmd Template, Next: Optional Arguments, Prev: Definition Commands, Up: Definition Commands
38 15.1 The Template for a Definition
39 ==================================
41 The `@deffn' command is used for definitions of entities that resemble
42 functions. To write a definition using the `@deffn' command, write the
43 `@deffn' command at the beginning of a line and follow it on the same
44 line by the category of the entity, the name of the entity itself, and
45 its arguments (if any). Then write the body of the definition on
46 succeeding lines. (You may embed examples in the body.) Finally, end
47 the definition with an `@end deffn' command written on a line of its
48 own. (The other definition commands follow the same format.)
50 The template for a definition looks like this:
52 @deffn CATEGORY NAME ARGUMENTS...
58 @deffn Command forward-word count
59 This command moves point forward @var{count} words
60 (or backward if @var{count} is negative). ...
65 -- Command: forward-word count
66 This function moves point forward COUNT words (or backward if
67 COUNT is negative). ...
69 Capitalize the category name like a title. If the name of the
70 category contains spaces, as in the phrase `Interactive Command', write
71 braces around it. For example:
73 @deffn {Interactive Command} isearch-forward
77 Otherwise, the second word will be mistaken for the name of the entity.
79 Some of the definition commands are more general than others. The
80 `@deffn' command, for example, is the general definition command for
81 functions and the like--for entities that may take arguments. When you
82 use this command, you specify the category to which the entity belongs.
83 The `@deffn' command possesses three predefined, specialized
84 variations, `@defun', `@defmac', and `@defspec', that specify the
85 category for you: "Function", "Macro", and "Special Form" respectively.
86 (In Lisp, a special form is an entity much like a function.) The
87 `@defvr' command also is accompanied by several predefined, specialized
88 variations for describing particular kinds of variables.
90 The template for a specialized definition, such as `@defun', is
91 similar to the template for a generalized definition, except that you
92 do not need to specify the category:
94 @defun NAME ARGUMENTS...
100 @defun buffer-end flag
101 This function returns @code{(point-min)} if @var{flag}
102 is less than 1, @code{(point-max)} otherwise.
108 -- Function: buffer-end flag
109 This function returns `(point-min)' if FLAG is less than 1,
110 `(point-max)' otherwise. ...
112 *Note Sample Function Definition: Sample Function Definition, for a
113 more detailed example of a function definition, including the use of
114 `@example' inside the definition.
116 The other specialized commands work like `@defun'.
119 File: texinfo.info, Node: Optional Arguments, Next: deffnx, Prev: Def Cmd Template, Up: Definition Commands
121 15.2 Optional and Repeated Arguments
122 ====================================
124 Some entities take optional or repeated arguments, which may be
125 specified by a distinctive glyph that uses square brackets and
126 ellipses. For example, a special form often breaks its argument list
127 into separate arguments in more complicated ways than a straightforward
130 An argument enclosed within square brackets is optional. Thus,
131 [OPTIONAL-ARG] means that OPTIONAL-ARG is optional. An argument
132 followed by an ellipsis is optional and may be repeated more than once.
133 Thus, REPEATED-ARGS... stands for zero or more arguments. Parentheses
134 are used when several arguments are grouped into additional levels of
135 list structure in Lisp.
137 Here is the `@defspec' line of an example of an imaginary special
140 -- Special Form: foobar (VAR [FROM TO [INC]]) BODY...
142 In this example, the arguments FROM and TO are optional, but must both
143 be present or both absent. If they are present, INC may optionally be
144 specified as well. These arguments are grouped with the argument VAR
145 into a list, to distinguish them from BODY, which includes all
146 remaining elements of the form.
148 In a Texinfo source file, this `@defspec' line is written like this
149 (except it would not be split over two lines, as it is in this example).
151 @defspec foobar (@var{var} [@var{from} @var{to}
152 [@var{inc}]]) @var{body}@dots{}
154 The function is listed in the Command and Variable Index under `foobar'.
157 File: texinfo.info, Node: deffnx, Next: Def Cmds in Detail, Prev: Optional Arguments, Up: Definition Commands
159 15.3 Two or More `First' Lines
160 ==============================
162 To create two or more `first' or header lines for a definition, follow
163 the first `@deffn' line by a line beginning with `@deffnx'. The
164 `@deffnx' command works exactly like `@deffn' except that it does not
165 generate extra vertical white space between it and the preceding line.
169 @deffn {Interactive Command} isearch-forward
170 @deffnx {Interactive Command} isearch-backward
171 These two search commands are similar except ...
176 -- Interactive Command: isearch-forward
177 -- Interactive Command: isearch-backward
178 These two search commands are similar except ...
180 Each of the other definition commands has an `x' form: `@defunx',
181 `@defvrx', `@deftypefunx', etc.
183 The `x' forms work just like `@itemx'; see *Note `@itemx': itemx.
186 File: texinfo.info, Node: Def Cmds in Detail, Next: Def Cmd Conventions, Prev: deffnx, Up: Definition Commands
188 15.4 The Definition Commands
189 ============================
191 Texinfo provides more than a dozen definition commands, all of which
192 are described in this section.
194 The definition commands automatically enter the name of the entity in
195 the appropriate index: for example, `@deffn', `@defun', and `@defmac'
196 enter function names in the index of functions; `@defvr' and `@defvar'
197 enter variable names in the index of variables.
199 Although the examples that follow mostly illustrate Lisp, the commands
200 can be used for other programming languages.
204 * Functions Commands:: Commands for functions and similar entities.
205 * Variables Commands:: Commands for variables and similar entities.
206 * Typed Functions:: Commands for functions in typed languages.
207 * Typed Variables:: Commands for variables in typed languages.
208 * Abstract Objects:: Commands for object-oriented programming.
209 * Data Types:: The definition command for data types.
212 File: texinfo.info, Node: Functions Commands, Next: Variables Commands, Prev: Def Cmds in Detail, Up: Def Cmds in Detail
214 15.4.1 Functions and Similar Entities
215 -------------------------------------
217 This section describes the commands for describing functions and similar
220 `@deffn CATEGORY NAME ARGUMENTS...'
221 The `@deffn' command is the general definition command for
222 functions, interactive commands, and similar entities that may take
223 arguments. You must choose a term to describe the category of
224 entity being defined; for example, "Function" could be used if the
225 entity is a function. The `@deffn' command is written at the
226 beginning of a line and is followed on the same line by the
227 category of entity being described, the name of this particular
228 entity, and its arguments, if any. Terminate the definition with
229 `@end deffn' on a line of its own.
231 For example, here is a definition:
233 @deffn Command forward-char nchars
234 Move point forward @var{nchars} characters.
237 This shows a rather terse definition for a "command" named
238 `forward-char' with one argument, NCHARS.
240 `@deffn' prints argument names such as NCHARS in italics or upper
241 case, as if `@var' had been used, because we think of these names
242 as metasyntactic variables--they stand for the actual argument
243 values. Within the text of the description, write an argument name
244 explicitly with `@var' to refer to the value of the argument. In
245 the example above, we used `@var{nchars}' in this way.
247 The template for `@deffn' is:
249 @deffn CATEGORY NAME ARGUMENTS...
253 `@defun NAME ARGUMENTS...'
254 The `@defun' command is the definition command for functions.
255 `@defun' is equivalent to `@deffn Function ...'.
259 @defun set symbol new-value
260 Change the value of the symbol @var{symbol}
264 shows a rather terse definition for a function `set' whose
265 arguments are SYMBOL and NEW-VALUE. The argument names on the
266 `@defun' line automatically appear in italics or upper case as if
267 they were enclosed in `@var'. Terminate the definition with `@end
268 defun' on a line of its own.
272 @defun FUNCTION-NAME ARGUMENTS...
276 `@defun' creates an entry in the index of functions.
278 `@defmac NAME ARGUMENTS...'
279 The `@defmac' command is the definition command for macros.
280 `@defmac' is equivalent to `@deffn Macro ...' and works like
283 `@defspec NAME ARGUMENTS...'
284 The `@defspec' command is the definition command for special
285 forms. (In Lisp, a special form is an entity much like a function,
286 *note Special Forms: (lispref)Special Forms.) `@defspec' is
287 equivalent to `@deffn {Special Form} ...' and works like `@defun'.
290 File: texinfo.info, Node: Variables Commands, Next: Typed Functions, Prev: Functions Commands, Up: Def Cmds in Detail
292 15.4.2 Variables and Similar Entities
293 -------------------------------------
295 Here are the commands for defining variables and similar entities:
297 `@defvr CATEGORY NAME'
298 The `@defvr' command is a general definition command for something
299 like a variable--an entity that records a value. You must choose
300 a term to describe the category of entity being defined; for
301 example, "Variable" could be used if the entity is a variable.
302 Write the `@defvr' command at the beginning of a line and followed
303 it on the same line by the category of the entity and the name of
306 Capitalize the category name like a title. If the name of the
307 category contains spaces, as in the name "User Option", enclose it
308 in braces. Otherwise, the second word will be mistaken for the
309 name of the entity. For example,
311 @defvr {User Option} fill-column
312 This buffer-local variable specifies
313 the maximum width of filled lines.
317 Terminate the definition with `@end defvr' on a line of its own.
325 `@defvr' creates an entry in the index of variables for NAME.
328 The `@defvar' command is the definition command for variables.
329 `@defvar' is equivalent to `@defvr Variable ...'.
343 `@defvar' creates an entry in the index of variables for NAME.
346 The `@defopt' command is the definition command for "user
347 options", i.e., variables intended for users to change according to
348 taste; Emacs has many such (*note Variables: (xemacs)Variables.).
349 `@defopt' is equivalent to `@defvr {User Option} ...' and works
353 File: texinfo.info, Node: Typed Functions, Next: Typed Variables, Prev: Variables Commands, Up: Def Cmds in Detail
355 15.4.3 Functions in Typed Languages
356 -----------------------------------
358 The `@deftypefn' command and its variations are for describing
359 functions in languages in which you must declare types of variables and
360 functions, such as C and C++.
362 `@deftypefn CATEGORY DATA-TYPE NAME ARGUMENTS...'
363 The `@deftypefn' command is the general definition command for
364 functions and similar entities that may take arguments and that are
365 typed. The `@deftypefn' command is written at the beginning of a
366 line and is followed on the same line by the category of entity
367 being described, the type of the returned value, the name of this
368 particular entity, and its arguments, if any.
372 @deftypefn {Library Function} int foobar
373 (int @var{foo}, float @var{bar})
377 (where the text before the "...", shown above as two lines, would
378 actually be a single line in a real Texinfo file) produces the
381 -- Library Function: int foobar (int FOO, float BAR)
384 This means that `foobar' is a "library function" that returns an
385 `int', and its arguments are FOO (an `int') and BAR (a `float').
387 The argument names that you write in `@deftypefn' are not subject
388 to an implicit `@var'--since the actual names of the arguments in
389 `@deftypefn' are typically scattered among data type names and
390 keywords, Texinfo cannot find them without help. Instead, you
391 must write `@var' explicitly around the argument names. In the
392 example above, the argument names are `foo' and `bar'.
394 The template for `@deftypefn' is:
396 @deftypefn CATEGORY DATA-TYPE NAME ARGUMENTS ...
400 Note that if the CATEGORY or DATA TYPE is more than one word then
401 it must be enclosed in braces to make it a single argument.
403 If you are describing a procedure in a language that has packages,
404 such as Ada, you might consider using `@deftypefn' in a manner
405 somewhat contrary to the convention described in the preceding
410 @deftypefn stacks private push
411 (@var{s}:in out stack;
416 (The `@deftypefn' arguments are shown split into three lines, but
417 would be a single line in a real Texinfo file.)
419 In this instance, the procedure is classified as belonging to the
420 package `stacks' rather than classified as a `procedure' and its
421 data type is described as `private'. (The name of the procedure
422 is `push', and its arguments are S and N.)
424 `@deftypefn' creates an entry in the index of functions for NAME.
426 `@deftypefun DATA-TYPE NAME ARGUMENTS...'
427 The `@deftypefun' command is the specialized definition command
428 for functions in typed languages. The command is equivalent to
429 `@deftypefn Function ...'.
433 @deftypefun int foobar (int @var{foo}, float @var{bar})
437 produces the following in Info:
439 -- Function: int foobar (int FOO, float BAR)
444 @deftypefun TYPE NAME ARGUMENTS...
448 `@deftypefun' creates an entry in the index of functions for NAME.
452 File: texinfo.info, Node: Typed Variables, Next: Abstract Objects, Prev: Typed Functions, Up: Def Cmds in Detail
454 15.4.4 Variables in Typed Languages
455 -----------------------------------
457 Variables in typed languages are handled in a manner similar to
458 functions in typed languages. *Note Typed Functions::. The general
459 definition command `@deftypevr' corresponds to `@deftypefn' and the
460 specialized definition command `@deftypevar' corresponds to
463 `@deftypevr CATEGORY DATA-TYPE NAME'
464 The `@deftypevr' command is the general definition command for
465 something like a variable in a typed language--an entity that
466 records a value. You must choose a term to describe the category
467 of the entity being defined; for example, "Variable" could be used
468 if the entity is a variable.
470 The `@deftypevr' command is written at the beginning of a line and
471 is followed on the same line by the category of the entity being
472 described, the data type, and the name of this particular entity.
476 @deftypevr {Global Flag} int enable
480 produces the following in Info:
482 -- Global Flag: int enable
487 @deftypevr CATEGORY DATA-TYPE NAME
491 `@deftypevr' creates an entry in the index of variables for NAME.
493 `@deftypevar DATA-TYPE NAME'
494 The `@deftypevar' command is the specialized definition command
495 for variables in typed languages. `@deftypevar' is equivalent to
496 `@deftypevr Variable ...'.
500 @deftypevar int fubar
504 produces the following in Info:
506 -- Variable: int fubar
511 @deftypevar DATA-TYPE NAME
515 `@deftypevar' creates an entry in the index of variables for NAME.
518 File: texinfo.info, Node: Abstract Objects, Next: Data Types, Prev: Typed Variables, Up: Def Cmds in Detail
520 15.4.5 Object-Oriented Programming
521 ----------------------------------
523 Here are the commands for formatting descriptions about abstract
524 objects, such as are used in object-oriented programming. A class is a
525 defined type of abstract object. An instance of a class is a
526 particular object that has the type of the class. An instance variable
527 is a variable that belongs to the class but for which each instance has
530 In a definition, if the name of a class is truly a name defined in the
531 programming system for a class, then you should write an `@code' around
532 it. Otherwise, it is printed in the usual text font.
534 `@defcv CATEGORY CLASS NAME'
535 The `@defcv' command is the general definition command for
536 variables associated with classes in object-oriented programming.
537 The `@defcv' command is followed by three arguments: the category
538 of thing being defined, the class to which it belongs, and its
541 @defcv {Class Option} Window border-pattern
545 illustrates how you would write the first line of a definition of
546 the `border-pattern' class option of the class `Window'.
550 @defcv CATEGORY CLASS NAME
554 `@defcv' creates an entry in the index of variables.
556 `@defivar CLASS NAME'
557 The `@defivar' command is the definition command for instance
558 variables in object-oriented programming. `@defivar' is
559 equivalent to `@defcv {Instance Variable} ...'
563 @defivar CLASS INSTANCE-VARIABLE-NAME
567 `@defivar' creates an entry in the index of variables.
569 `@defop CATEGORY CLASS NAME ARGUMENTS...'
570 The `@defop' command is the general definition command for
571 entities that may resemble methods in object-oriented programming.
572 These entities take arguments, as functions do, but are associated
573 with particular classes of objects.
575 For example, some systems have constructs called "wrappers" that
576 are associated with classes as methods are, but that act more like
577 macros than like functions. You could use `@defop Wrapper' to
578 describe one of these.
580 Sometimes it is useful to distinguish methods and "operations".
581 You can think of an operation as the specification for a method.
582 Thus, a window system might specify that all window classes have a
583 method named `expose'; we would say that this window system
584 defines an `expose' operation on windows in general. Typically,
585 the operation has a name and also specifies the pattern of
586 arguments; all methods that implement the operation must accept
587 the same arguments, since applications that use the operation do
588 so without knowing which method will implement it.
590 Often it makes more sense to document operations than methods. For
591 example, window application developers need to know about the
592 `expose' operation, but need not be concerned with whether a given
593 class of windows has its own method to implement this operation.
594 To describe this operation, you would write:
596 @defop Operation windows expose
598 The `@defop' command is written at the beginning of a line and is
599 followed on the same line by the overall name of the category of
600 operation, the name of the class of the operation, the name of the
601 operation, and its arguments, if any.
605 @defop CATEGORY CLASS NAME ARGUMENTS...
609 `@defop' creates an entry, such as ``expose' on `windows'', in the
612 `@defmethod CLASS NAME ARGUMENTS...'
613 The `@defmethod' command is the definition command for methods in
614 object-oriented programming. A method is a kind of function that
615 implements an operation for a particular class of objects and its
616 subclasses. In the Lisp Machine, methods actually were functions,
617 but they were usually defined with `defmethod'.
619 `@defmethod' is equivalent to `@defop Method ...'. The command is
620 written at the beginning of a line and is followed by the name of
621 the class of the method, the name of the method, and its
626 @defmethod `bar-class' bar-method argument
630 illustrates the definition for a method called `bar-method' of the
631 class `bar-class'. The method takes an argument.
635 @defmethod CLASS METHOD-NAME ARGUMENTS...
639 `@defmethod' creates an entry, such as ``bar-method' on
640 `bar-class'', in the index of functions.
642 `@deftypemethod CLASS DATA-TYPE NAME ARGUMENTS...'
643 The `@deftypemethod' command is the definition command for methods
644 in object-oriented typed languages, such as C++ and Java. It is
645 similar to the `@defmethod' command with the addition of the
646 DATA-TYPE parameter to specify the return type of the method.
650 File: texinfo.info, Node: Data Types, Prev: Abstract Objects, Up: Def Cmds in Detail
655 Here is the command for data types:
657 `@deftp CATEGORY NAME ATTRIBUTES...'
658 The `@deftp' command is the generic definition command for data
659 types. The command is written at the beginning of a line and is
660 followed on the same line by the category, by the name of the type
661 (which is a word like `int' or `float'), and then by names of
662 attributes of objects of that type. Thus, you could use this
663 command for describing `int' or `float', in which case you could
664 use `data type' as the category. (A data type is a category of
665 certain objects for purposes of deciding which operations can be
668 In Lisp, for example, "pair" names a particular data type, and an
669 object of that type has two slots called the CAR and the CDR.
670 Here is how you would write the first line of a definition of
673 @deftp {Data type} pair car cdr
679 @deftp CATEGORY NAME-OF-TYPE ATTRIBUTES...
683 `@deftp' creates an entry in the index of data types.
686 File: texinfo.info, Node: Def Cmd Conventions, Next: Sample Function Definition, Prev: Def Cmds in Detail, Up: Definition Commands
688 15.5 Conventions for Writing Definitions
689 ========================================
691 When you write a definition using `@deffn', `@defun', or one of the
692 other definition commands, please take care to use arguments that
693 indicate the meaning, as with the COUNT argument to the `forward-word'
694 function. Also, if the name of an argument contains the name of a
695 type, such as INTEGER, take care that the argument actually is of that
699 File: texinfo.info, Node: Sample Function Definition, Prev: Def Cmd Conventions, Up: Definition Commands
701 15.6 A Sample Function Definition
702 =================================
704 A function definition uses the `@defun' and `@end defun' commands. The
705 name of the function follows immediately after the `@defun' command and
706 it is followed, on the same line, by the parameter list.
708 Here is a definition from *Note Calling Functions: (lispref)Calling
711 -- Function: apply function &rest arguments
712 `apply' calls FUNCTION with ARGUMENTS, just like `funcall'
713 but with one difference: the last of ARGUMENTS is a list of
714 arguments to give to FUNCTION, rather than a single argument.
715 We also say that this list is "appended" to the other
718 `apply' returns the result of calling FUNCTION. As with
719 `funcall', FUNCTION must either be a Lisp function or a
720 primitive function; special forms and macros do not make
726 error--> Wrong type argument: listp, z
727 (apply '+ 1 2 '(3 4))
729 (apply '+ '(1 2 3 4))
732 (apply 'append '((a b c) nil (x y z) nil))
735 An interesting example of using `apply' is found in the
736 description of `mapcar'.
738 In the Texinfo source file, this example looks like this:
740 @defun apply function &rest arguments
742 @code{apply} calls @var{function} with
743 @var{arguments}, just like @code{funcall} but with one
744 difference: the last of @var{arguments} is a list of
745 arguments to give to @var{function}, rather than a single
746 argument. We also say that this list is @dfn{appended}
747 to the other arguments.
749 @code{apply} returns the result of calling
750 @var{function}. As with @code{funcall},
751 @var{function} must either be a Lisp function or a
752 primitive function; special forms and macros do not make
753 sense in @code{apply}.
759 @error{} Wrong type argument: listp, z
760 (apply '+ 1 2 '(3 4))
762 (apply '+ '(1 2 3 4))
765 (apply 'append '((a b c) nil (x y z) nil))
766 @result{} (a b c x y z)
769 An interesting example of using @code{apply} is found
770 in the description of @code{mapcar}.@refill
773 In this manual, this function is listed in the Command and Variable
776 Ordinary variables and user options are described using a format like
777 that for functions except that variables do not take arguments.
780 File: texinfo.info, Node: Footnotes, Next: Conditionals, Prev: Definition Commands, Up: Top
785 A "footnote" is for a reference that documents or elucidates the
786 primary text.(1) (*note Footnotes-Footnote-1::)
790 * Footnote Commands:: How to write a footnote in Texinfo.
791 * Footnote Styles:: Controlling how footnotes appear in Info.
794 File: texinfo.info, Node: Footnotes-Footnotes, Up: Footnotes
796 (1) A footnote should complement or expand upon the primary text, but
797 a reader should not need to read a footnote to understand the primary
798 text. For a thorough discussion of footnotes, see `The Chicago Manual
799 of Style', which is published by the University of Chicago Press.
802 File: texinfo.info, Node: Footnote Commands, Next: Footnote Styles, Prev: Footnotes, Up: Footnotes
804 16.1 Footnote Commands
805 ======================
807 In Texinfo, footnotes are created with the `@footnote' command. This
808 command is followed immediately by a left brace, then by the text of
809 the footnote, and then by a terminating right brace. Footnotes may be
810 of any length (they will be broken across pages if necessary), but are
811 usually short. The template is:
813 ordinary text@footnote{TEXT OF FOOTNOTE}
815 As shown here, the `@footnote' command should come right after the
816 text being footnoted, with no intervening space; otherwise, the
817 formatters the footnote mark might end up starting up a line.
819 For example, this clause is followed by a sample footnote(1) (*note
820 Footnote Commands-Footnote-1::); in the Texinfo source, it looks like
823 ...a sample footnote@footnote{Here is the sample
824 footnote.}; in the Texinfo source...
826 *Warning:* Don't use footnotes in the argument of the `@item' command
827 for a `@table' table. This doesn't work, and because of limitations of
828 TeX, there is no way to fix it. You must put the footnote into the
829 body text of the table.
831 In a printed manual or book, the reference mark for a footnote is a
832 small, superscripted number; the text of the footnote appears at the
833 bottom of the page, below a horizontal line.
835 In Info, the reference mark for a footnote is a pair of parentheses
836 with the footnote number between them, like this: `(1)'.
839 File: texinfo.info, Node: Footnote Commands-Footnotes, Up: Footnote Commands
841 (1) Here is the sample footnote.
844 File: texinfo.info, Node: Footnote Styles, Prev: Footnote Commands, Up: Footnotes
849 Info has two footnote styles, which determine where the text of the
852 * In the `End' node style, all the footnotes for a single node are
853 placed at the end of that node. The footnotes are separated from
854 the rest of the node by a line of dashes with the word `Footnotes'
855 within it. Each footnote begins with an `(N)' reference mark.
857 Here is an example of a single footnote in the end of node style:
859 --------- Footnotes ---------
861 (1) Here is a sample footnote.
863 * In the `Separate' node style, all the footnotes for a single node
864 are placed in an automatically constructed node of their own. In
865 this style, a "footnote reference" follows each `(N)' reference
866 mark in the body of the node. The footnote reference is actually
867 a cross reference which you use to reach the footnote node.
869 The name of the node containing the footnotes is constructed by
870 appending `-Footnotes' to the name of the node that contains the
871 footnotes. (Consequently, the footnotes' node for the `Footnotes'
872 node is `Footnotes-Footnotes'!) The footnotes' node has an `Up'
873 node pointer that leads back to its parent node.
875 Here is how the first footnote in this manual looks after being
876 formatted for Info in the separate node style:
878 File: texinfo.info Node: Overview-Footnotes, Up: Overview
880 (1) Note that the first syllable of "Texinfo" is
881 pronounced like "speck", not "hex". ...
883 A Texinfo file may be formatted into an Info file with either footnote
886 Use the `@footnotestyle' command to specify an Info file's footnote
887 style. Write this command at the beginning of a line followed by an
888 argument, either `end' for the end node style or `separate' for the
895 @footnotestyle separate
897 Write an `@footnotestyle' command before or shortly after the
898 end-of-header line at the beginning of a Texinfo file. (If you include
899 the `@footnotestyle' command between the start-of-header and
900 end-of-header lines, the region formatting commands will format
901 footnotes as specified.)
903 If you do not specify a footnote style, the formatting commands use
904 their default style. Currently, `texinfo-format-buffer' and
905 `texinfo-format-region' use the `separate' style and `makeinfo' uses
908 This chapter contains two footnotes.
911 File: texinfo.info, Node: Conditionals, Next: Macros, Prev: Footnotes, Up: Top
913 17 Conditionally Visible Text
914 *****************************
916 Sometimes it is good to use different text for a printed manual and its
917 corresponding Info file. In this case, you can use the "conditional
918 commands" to specify which text is for the printed manual and which is
923 * Conditional Commands:: Specifying text for HTML, Info, or TeX.
924 * Conditional Not Commands:: Specifying text for not HTML, Info, or TeX.
925 * Raw Formatter Commands:: Using raw TeX or HTML commands.
926 * set clear value:: Designating which text to format (for
927 all output formats); and how to set a
928 flag to a string that you can insert.
931 File: texinfo.info, Node: Conditional Commands, Next: Conditional Not Commands, Prev: Conditionals, Up: Conditionals
936 `@ifinfo' begins segments of text that should be ignored by TeX when
937 it typesets the printed manual. The segment of text appears only in
938 the Info file. The `@ifinfo' command should appear on a line by
939 itself; end the Info-only text with a line containing `@end ifinfo' by
940 itself. At the beginning of a Texinfo file, the Info permissions are
941 contained within a region marked by `@ifinfo' and `@end ifinfo'. (*Note
942 Info Summary and Permissions::.)
944 The `@iftex' and `@end iftex' commands are similar to the `@ifinfo'
945 and `@end ifinfo' commands, except that they specify text that will
946 appear in the printed manual but not in the Info file. Likewise for
947 `@ifhtml' and `@end ifhtml', which specify text to appear only in HTML
953 This text will appear only in the printed manual.
956 However, this text will appear only in Info.
959 The preceding example produces the following line: However, this text
960 will appear only in Info.
962 Note how you only see one of the two lines, depending on whether you
963 are reading the Info version or the printed version of this manual.
965 The `@titlepage' command is a special variant of `@iftex' that is
966 used for making the title and copyright pages of the printed manual.
967 (*Note `@titlepage': titlepage.)
970 File: texinfo.info, Node: Conditional Not Commands, Next: Raw Formatter Commands, Prev: Conditional Commands, Up: Conditionals
972 17.1 Conditional Not Commands
973 =============================
975 You can specify text to be included in any output format _other_ than
976 some given one with the `@ifnot...' commands:
977 @ifnothtml ... @end ifnothtml
978 @ifnotinfo ... @end ifnotinfo
979 @ifnottex ... @end ifnottex
980 (The `@ifnot...' command and the `@end' command must actually appear
981 on lines by themselves.)
983 If the output file is not being made for the given format, the region
984 is included. Otherwise, it is ignored.
986 The regions delimited by these commands are ordinary Texinfo source as
987 with `@iftex', not raw formatter source as with `@tex'.
990 File: texinfo.info, Node: Raw Formatter Commands, Next: set clear value, Prev: Conditional Not Commands, Up: Conditionals
992 17.2 Raw Formatter Commands
993 ===========================
995 Inside a region delineated by `@iftex' and `@end iftex', you can embed
996 some raw TeX commands. Info will ignore these commands since they are
997 only in that part of the file which is seen by TeX. You can write the
998 TeX commands as you would write them in a normal TeX file, except that
999 you must replace the `\' used by TeX with an `@'. For example, in the
1000 `@titlepage' section of a Texinfo file, you can use the TeX command
1001 `@vskip' to format the copyright page. (The `@titlepage' command
1002 causes Info to ignore the region automatically, as it does with the
1005 However, many features of plain TeX will not work, as they are
1006 overridden by Texinfo features.
1008 You can enter plain TeX completely, and use `\' in the TeX commands,
1009 by delineating a region with the `@tex' and `@end tex' commands. (The
1010 `@tex' command also causes Info to ignore the region, like the `@iftex'
1011 command.) The sole exception is that `@' chracter still introduces a
1012 command, so that `@end tex' can be recognized properly.
1014 For example, here is a mathematical expression written in plain TeX:
1017 $$ \chi^2 = \sum_{i=1}^N
1018 \left (y_i - (a + b x_i)
1019 \over \sigma_i\right)^2 $$
1022 The output of this example will appear only in a printed manual. If
1023 you are reading this in Info, you will not see the equation that appears
1024 in the printed manual.
1026 Analogously, you can use `@ifhtml ... @end ifhtml' to delimit a
1027 region to be included in HTML output only, and `@html ... @end ifhtml'
1028 for a region of raw HTML (again, except that `@' is still the escape
1029 character, so the `@end' command can be recognized.)
1032 File: texinfo.info, Node: set clear value, Prev: Raw Formatter Commands, Up: Conditionals
1034 17.3 `@set', `@clear', and `@value'
1035 ===================================
1037 You can direct the Texinfo formatting commands to format or ignore parts
1038 of a Texinfo file with the `@set', `@clear', `@ifset', and `@ifclear'
1041 In addition, you can use the `@set FLAG' command to set the value of
1042 FLAG to a string of characters; and use `@value{FLAG}' to insert that
1043 string. You can use `@set', for example, to set a date and use
1044 `@value' to insert the date in several places in the Texinfo file.
1048 * ifset ifclear:: Format a region if a flag is set.
1049 * value:: Replace a flag with a string.
1050 * value Example:: An easy way to update edition information.
1053 File: texinfo.info, Node: ifset ifclear, Next: value, Prev: set clear value, Up: set clear value
1055 17.3.1 `@ifset' and `@ifclear'
1056 ------------------------------
1058 When a FLAG is set, the Texinfo formatting commands format text between
1059 subsequent pairs of `@ifset FLAG' and `@end ifset' commands. When the
1060 FLAG is cleared, the Texinfo formatting commands do _not_ format the
1063 Use the `@set FLAG' command to turn on, or "set", a FLAG; a "flag"
1064 can be any single word. The format for the command looks like this:
1068 Write the conditionally formatted text between `@ifset FLAG' and
1069 `@end ifset' commands, like this:
1075 For example, you can create one document that has two variants, such
1076 as a manual for a `large' and `small' model:
1078 You can use this machine to dig up shrubs
1079 without hurting them.
1084 It can also dig up fully grown trees.
1087 Remember to replant promptly ...
1089 In the example, the formatting commands will format the text between
1090 `@ifset large' and `@end ifset' because the `large' flag is set.
1092 Use the `@clear FLAG' command to turn off, or "clear", a flag.
1093 Clearing a flag is the opposite of setting a flag. The command looks
1098 Write the command on a line of its own.
1100 When FLAG is cleared, the Texinfo formatting commands do _not_ format
1101 the text between `@ifset FLAG' and `@end ifset'; that text is ignored
1102 and does not appear in either printed or Info output.
1104 For example, if you clear the flag of the preceding example by writing
1105 an `@clear large' command after the `@set large' command (but before
1106 the conditional text), then the Texinfo formatting commands ignore the
1107 text between the `@ifset large' and `@end ifset' commands. In the
1108 formatted output, that text does not appear; in both printed and Info
1109 output, you see only the lines that say, "You can use this machine to
1110 dig up shrubs without hurting them. Remember to replant promptly ...".
1112 If a flag is cleared with an `@clear FLAG' command, then the
1113 formatting commands format text between subsequent pairs of `@ifclear'
1114 and `@end ifclear' commands. But if the flag is set with `@set FLAG',
1115 then the formatting commands do _not_ format text between an `@ifclear'
1116 and an `@end ifclear' command; rather, they ignore that text. An
1117 `@ifclear' command looks like this:
1121 In brief, the commands are:
1124 Tell the Texinfo formatting commands that FLAG is set.
1127 Tell the Texinfo formatting commands that FLAG is cleared.
1130 If FLAG is set, tell the Texinfo formatting commands to format the
1131 text up to the following `@end ifset' command.
1133 If FLAG is cleared, tell the Texinfo formatting commands to ignore
1134 text up to the following `@end ifset' command.
1137 If FLAG is set, tell the Texinfo formatting commands to ignore the
1138 text up to the following `@end ifclear' command.
1140 If FLAG is cleared, tell the Texinfo formatting commands to format
1141 the text up to the following `@end ifclear' command.
1144 File: texinfo.info, Node: value, Next: value Example, Prev: ifset ifclear, Up: set clear value
1149 You can use the `@set' command to specify a value for a flag, which is
1150 expanded by the `@value' command. The value is a string a characters.
1152 Write the `@set' command like this:
1154 @set foo This is a string.
1156 This sets the value of `foo' to "This is a string."
1158 The Texinfo formatters replace an `@value{FLAG}' command with the
1159 string to which FLAG is set.
1161 Thus, when `foo' is set as shown above, the Texinfo formatters convert
1167 You can write an `@value' command within a paragraph; but you must
1168 write an `@set' command on a line of its own.
1170 If you write the `@set' command like this:
1174 without specifying a string, the value of `foo' is an empty string.
1176 If you clear a previously set flag with an `@clear FLAG' command, a
1177 subsequent `@value{flag}' command is invalid and the string is replaced
1178 with an error message that says `{No value for "FLAG"}'.
1180 For example, if you set `foo' as follows:
1182 @set how-much very, very, very
1184 then the formatters transform
1186 It is a @value{how-much} wet day.
1188 It is a very, very, very wet day.
1194 then the formatters transform
1196 It is a @value{how-much} wet day.
1198 It is a {No value for "how-much"} wet day.
1201 File: texinfo.info, Node: value Example, Prev: value, Up: set clear value
1203 17.3.3 `@value' Example
1204 -----------------------
1206 You can use the `@value' command to limit the number of places you need
1207 to change when you record an update to a manual. Here is how it is
1208 done in `The GNU Make Manual':
1212 @set EDITION 0.35 Beta
1213 @set VERSION 3.63 Beta
1214 @set UPDATED 14 August 1992
1215 @set UPDATE-MONTH August 1992
1217 Write text for the first `@ifinfo' section, for people reading the
1220 This is Edition @value{EDITION},
1221 last updated @value{UPDATED},
1222 of @cite{The GNU Make Manual},
1223 for @code{make}, Version @value{VERSION}.
1225 Write text for the title page, for people reading the printed manual:
1228 @subtitle A Program for Directing Recompilation
1229 @subtitle Edition @value{EDITION}, ...
1230 @subtitle @value{UPDATE-MONTH}
1232 (On a printed cover, a date listing the month and the year looks less
1233 fussy than a date listing the day as well as the month and year.)
1235 Write text for the Top node, for people reading the Info file:
1237 This is Edition @value{EDITION}
1238 of the @cite{GNU Make Manual},
1239 last updated @value{UPDATED}
1240 for @code{make} Version @value{VERSION}.
1242 After you format the manual, the text in the first `@ifinfo' section
1245 This is Edition 0.35 Beta, last updated 14 August 1992,
1246 of `The GNU Make Manual', for `make', Version 3.63 Beta.
1248 When you update the manual, change only the values of the flags; you
1249 do not need to rewrite the three sections.
1252 File: texinfo.info, Node: Macros, Next: Format/Print Hardcopy, Prev: Conditionals, Up: Top
1254 18 Macros: Defining New Texinfo Commands
1255 ****************************************
1257 A Texinfo "macro" allows you to define a new Texinfo command as any
1258 sequence of text and/or existing commands (including other macros). The
1259 macro can have any number of "parameters"--text you supply each time
1260 you use the macro. (This has nothing to do with the `@defmac' command,
1261 which is for documenting macros in the subject of the manual; *note Def
1266 * Defining Macros:: Both defining and undefining new commands.
1267 * Invoking Macros:: Using a macro, once you've defined it.
1270 File: texinfo.info, Node: Defining Macros, Next: Invoking Macros, Prev: Macros, Up: Macros
1272 18.1 Defining Macros
1273 ====================
1275 You use the Texinfo `@macro' command to define a macro. For example:
1277 @macro MACRO-NAME{PARAM1, PARAM2, ...}
1278 TEXT ... \PARAM1\ ...
1281 The "parameters" PARAM1, PARAM2, ... correspond to arguments supplied
1282 when the macro is subsequently used in the document (see the next
1285 If a macro needs no parameters, you can define it either with an empty
1286 list (`@macro foo {}') or with no braces at all (`@macro foo').
1288 The definition or "body" of the macro can contain any Texinfo
1289 commands, including previously-defined macros. (It is not possible to
1290 have mutually recursive Texinfo macros.) In the body, instances of a
1291 parameter name surrounded by backslashes, as in `\PARAM1\' in the
1292 example above, are replaced by the corresponding argument from the
1295 You can undefine a macro FOO with `@unmacro FOO'. It is not an error
1296 to undefine a macro that is already undefined. For example:
1301 File: texinfo.info, Node: Invoking Macros, Prev: Defining Macros, Up: Macros
1303 18.2 Invoking Macros
1304 ====================
1306 After a macro is defined (see the previous section), you can use
1307 ("invoke") it in your document like this:
1309 @MACRO-NAME {ARG1, ARG2, ...}
1311 and the result will be just as if you typed the body of MACRO-NAME at
1312 that spot. For example:
1315 Together: \p\ & \q\.
1323 Thus, the arguments and parameters are separated by commas and
1324 delimited by braces; any whitespace after (but not before) a comma is
1325 ignored. To insert a comma, brace, or backslash in an argument,
1326 prepend a backslash, as in
1328 @MACRO-NAME {\\\{\}\,}
1330 which will pass the (almost certainly error-producing) argument `\{},'
1333 If the macro is defined to take a single argument, and is invoked
1334 without any braces, the entire rest of the line after the macro name is
1335 supplied as the argument. For example:
1347 File: texinfo.info, Node: Format/Print Hardcopy, Next: Create an Info File, Prev: Macros, Up: Top
1349 19 Format and Print Hardcopy
1350 ****************************
1352 There are three major shell commands for making a printed manual from a
1353 Texinfo file: one for converting the Texinfo file into a file that will
1354 be printed, a second for sorting indices, and a third for printing the
1355 formatted document. When you use the shell commands, you can either
1356 work directly in the operating system shell or work within a shell
1359 If you are using GNU Emacs, you can use commands provided by Texinfo
1360 mode instead of shell commands. In addition to the three commands to
1361 format a file, sort the indices, and print the result, Texinfo mode
1362 offers key bindings for commands to recenter the output buffer, show the
1363 print queue, and delete a job from the print queue.
1367 * Use TeX:: Use TeX to format for hardcopy.
1368 * Format with tex/texindex:: How to format in a shell.
1369 * Format with texi2dvi:: A simpler way to use the shell.
1370 * Print with lpr:: How to print.
1371 * Within Emacs:: How to format and print from an Emacs shell.
1372 * Texinfo Mode Printing:: How to format and print in Texinfo mode.
1373 * Compile-Command:: How to print using Emacs's compile command.
1374 * Requirements Summary:: TeX formatting requirements summary.
1375 * Preparing for TeX:: What you need to do to use TeX.
1376 * Overfull hboxes:: What are and what to do with overfull hboxes.
1377 * smallbook:: How to print small format books and manuals.
1378 * A4 Paper:: How to print on European A4 paper.
1379 * Cropmarks and Magnification:: How to print marks to indicate the size
1380 of pages and how to print scaled up output.
1383 File: texinfo.info, Node: Use TeX, Next: Format with tex/texindex, Prev: Format/Print Hardcopy, Up: Format/Print Hardcopy
1388 The typesetting program called TeX is used for formatting a Texinfo
1389 file. TeX is a very powerful typesetting program and, if used right,
1390 does an exceptionally good job. (*Note How to Obtain TeX: Obtaining
1391 TeX, for information on how to obtain TeX.)
1393 The `makeinfo', `texinfo-format-region', and `texinfo-format-buffer'
1394 commands read the very same @-commands in the Texinfo file as does TeX,
1395 but process them differently to make an Info file; see *Note Create an
1399 File: texinfo.info, Node: Format with tex/texindex, Next: Format with texi2dvi, Prev: Use TeX, Up: Format/Print Hardcopy
1401 19.1 Format using `tex' and `texindex'
1402 ======================================
1404 Format the Texinfo file with the shell command `tex' followed by the
1405 name of the Texinfo file. For example:
1409 TeX will produce a "DVI file" as well as several auxiliary files
1410 containing information for indices, cross references, etc. The DVI
1411 file (for "DeVice Independent" file) can be printed on virtually any
1412 printe (see the following sections).
1414 The `tex' formatting command itself does not sort the indices; it
1415 writes an output file of unsorted index data. (The `texi2dvi' command
1416 automatically generates indices; see *Note Format using `texi2dvi':
1417 Format with texi2dvi.) To generate a printed index after running the
1418 `tex' command, you first need a sorted index to work from. The
1419 `texindex' command sorts indices. (The source file `texindex.c' comes
1420 as part of the standard Texinfo distribution, among other places.)
1422 The `tex' formatting command outputs unsorted index files under names
1423 that obey a standard convention: the name of your main input file with
1424 any `.tex' (or similar, *note tex invocation: (web2c)tex invocation.)
1425 extension removed, followed by the two letter names of indices. For
1426 example, the raw index output files for the input file `foo.texinfo'
1427 would be `foo.cp', `foo.vr', `foo.fn', `foo.tp', `foo.pg' and `foo.ky'.
1428 Those are exactly the arguments to give to `texindex'.
1430 Instead of specifying all the unsorted index file names explicitly,
1431 you can use `??' as shell wildcards and give the command in this form:
1435 This command will run `texindex' on all the unsorted index files,
1436 including any that you have defined yourself using `@defindex' or
1437 `@defcodeindex'. (You may execute `texindex foo.??' even if there are
1438 similarly named files with two letter extensions that are not index
1439 files, such as `foo.el'. The `texindex' command reports but otherwise
1440 ignores such files.)
1442 For each file specified, `texindex' generates a sorted index file
1443 whose name is made by appending `s' to the input file name. The
1444 `@printindex' command knows to look for a file of that name (*note
1445 Printing Indices & Menus::). `texindex' does not alter the raw index
1448 After you have sorted the indices, you need to rerun the `tex'
1449 formatting command on the Texinfo file. This regenerates the DVI file,
1450 this time with up-to-date index entries.
1452 Finally, you may need to run `tex' one more time, to get the page
1453 numbers in the cross-references correct.
1455 To summarize, this is a four step process:
1457 1. Run `tex' on your Texinfo file. This generates a DVI file (with
1458 undefined cross-references and no indices), and the raw index files
1459 (with two letter extensions).
1461 2. Run `texindex' on the raw index files. This creates the
1462 corresponding sorted index files (with three letter extensions).
1464 3. Run `tex' again on your Texinfo file. This regenerates the DVI
1465 file, this time with indices and defined cross-references, but
1466 with page numbers for the cross-references from last time,
1467 generally incorrect.
1469 4. Run `tex' one last time. This time the correct page numbers are
1470 written for the cross-references.
1472 Alternatively, it's a one-step process: run `texi2dvi'.
1474 You need not run `texindex' each time after you run `tex'. If you do
1475 not, on the next run, the `tex' formatting command will use whatever
1476 sorted index files happen to exist from the previous use of `texindex'.
1477 This is usually ok while you are debugging.
1480 File: texinfo.info, Node: Format with texi2dvi, Next: Print with lpr, Prev: Format with tex/texindex, Up: Format/Print Hardcopy
1482 19.2 Format using `texi2dvi'
1483 ============================
1485 The `texi2dvi' command automatically runs both `tex' and `texindex' as
1486 many times as necessary to produce a DVI file with up-to-date, sorted
1487 indices. It simplifies the `tex'--`texindex'--`tex' sequence described
1488 in the previous section.
1490 The syntax for `texi2dvi' is like this (where `prompt$' is your shell
1493 prompt$ texi2dvi FILENAME...
1495 For a list of options, run `texi2dvi --help'.
1498 File: texinfo.info, Node: Print with lpr, Next: Within Emacs, Prev: Format with texi2dvi, Up: Format/Print Hardcopy
1500 19.3 Shell Print Using `lpr -d'
1501 ===============================
1503 The precise command to print a DVI file depends on your system
1504 installation, but `lpr -d' is common. The command may require the DVI
1505 file name without any extension or with a `.dvi' extension. (If it is
1506 `lpr', you must include the `.dvi'.)
1508 The following commands, for example, will (probably) suffice to sort
1509 the indices, format, and print the `Bison Manual':
1516 (Remember that the shell commands may be different at your site; but
1517 these are commonly used versions.)
1519 Using the `texi2dvi' shell script, you simply need type:
1521 texi2dvi bison.texinfo
1525 File: texinfo.info, Node: Within Emacs, Next: Texinfo Mode Printing, Prev: Print with lpr, Up: Format/Print Hardcopy
1527 19.4 From an Emacs Shell
1528 ========================
1530 You can give formatting and printing commands from a shell within GNU
1531 Emacs. To create a shell within Emacs, type `M-x shell'. In this
1532 shell, you can format and print the document. *Note Format and Print
1533 Hardcopy: Format/Print Hardcopy, for details.
1535 You can switch to and from the shell buffer while `tex' is running
1536 and do other editing. If you are formatting a long document on a slow
1537 machine, this can be very convenient.
1539 You can also use `texi2dvi' from an Emacs shell. For example, here
1540 is how to use `texi2dvi' to format and print `Using and Porting GNU CC'
1541 from a shell within Emacs:
1543 texi2dvi gcc.texinfo
1546 *Note Texinfo Mode Printing::, for more information about formatting
1547 and printing in Texinfo mode.
1550 File: texinfo.info, Node: Texinfo Mode Printing, Next: Compile-Command, Prev: Within Emacs, Up: Format/Print Hardcopy
1552 19.5 Formatting and Printing in Texinfo Mode
1553 ============================================
1555 Texinfo mode provides several predefined key commands for TeX
1556 formatting and printing. These include commands for sorting indices,
1557 looking at the printer queue, killing the formatting job, and
1558 recentering the display of the buffer in which the operations occur.
1561 `M-x texinfo-tex-buffer'
1562 Run `texi2dvi' on the current buffer.
1565 `M-x texinfo-tex-region'
1566 Run TeX on the current region.
1569 `M-x texinfo-texindex'
1570 Sort the indices of a Texinfo file formatted with
1571 `texinfo-tex-region'.
1574 `M-x texinfo-tex-print'
1575 Print a DVI file that was made with `texinfo-tex-region' or
1576 `texinfo-tex-buffer'.
1579 `M-x tex-show-print-queue'
1580 Show the print queue.
1583 `M-x texinfo-delete-from-print-queue'
1584 Delete a job from the print queue; you will be prompted for the job
1585 number shown by a preceding `C-c C-t C-q' command
1586 (`texinfo-show-tex-print-queue').
1590 Kill the currently running TeX job started by `texinfo-tex-region'
1591 or `texinfo-tex-buffer', or any other process running in the
1592 Texinfo shell buffer.
1595 `M-x texinfo-quit-job'
1596 Quit a TeX formatting job that has stopped because of an error by
1597 sending an <x> to it. When you do this, TeX preserves a record of
1598 what it did in a `.log' file.
1601 `M-x tex-recenter-output-buffer'
1602 Redisplay the shell buffer in which the TeX printing and formatting
1603 commands are run to show its most recent output.
1605 Thus, the usual sequence of commands for formatting a buffer is as
1606 follows (with comments to the right):
1608 C-c C-t C-b Run `texi2dvi' on the buffer.
1609 C-c C-t C-p Print the DVI file.
1610 C-c C-t C-q Display the printer queue.
1612 The Texinfo mode TeX formatting commands start a subshell in Emacs
1613 called the `*tex-shell*'. The `texinfo-tex-command',
1614 `texinfo-texindex-command', and `tex-dvi-print-command' commands are
1615 all run in this shell.
1617 You can watch the commands operate in the `*tex-shell*' buffer, and
1618 you can switch to and from and use the `*tex-shell*' buffer as you
1619 would any other shell buffer.
1621 The formatting and print commands depend on the values of several
1622 variables. The default values are:
1624 Variable Default value
1626 texinfo-texi2dvi-command "texi2dvi"
1627 texinfo-tex-command "tex"
1628 texinfo-texindex-command "texindex"
1629 texinfo-delete-from-print-queue-command "lprm"
1630 texinfo-tex-trailer "@bye"
1631 tex-start-of-header "%**start"
1632 tex-end-of-header "%**end"
1633 tex-dvi-print-command "lpr -d"
1634 tex-show-queue-command "lpq"
1636 You can change the values of these variables with the `M-x
1637 edit-options' command (*note Editing Variable Values: (xemacs)Edit
1638 Options.), with the `M-x set-variable' command (*note Examining and
1639 Setting Variables: (xemacs)Examining.), or with your `.emacs'
1640 initialization file (*note Init File: (xemacs)Init File.).
1643 File: texinfo.info, Node: Compile-Command, Next: Requirements Summary, Prev: Texinfo Mode Printing, Up: Format/Print Hardcopy
1645 19.6 Using the Local Variables List
1646 ===================================
1648 Yet another way to apply the TeX formatting command to a Texinfo file
1649 is to put that command in a "local variables list" at the end of the
1650 Texinfo file. You can then specify the `tex' or `texi2dvi' commands as
1651 a `compile-command' and have Emacs run it by typing `M-x compile'.
1652 This creates a special shell called the `*compilation*' buffer in which
1653 Emacs runs the compile command. For example, at the end of the
1654 `gdb.texinfo' file, after the `@bye', you could put the following:
1657 compile-command: "texi2dvi gdb.texinfo"
1660 This technique is most often used by programmers who also compile
1661 programs this way; see *Note Compilation: (xemacs)Compilation.
1664 File: texinfo.info, Node: Requirements Summary, Next: Preparing for TeX, Prev: Compile-Command, Up: Format/Print Hardcopy
1666 19.7 TeX Formatting Requirements Summary
1667 ========================================
1669 Every Texinfo file that is to be input to TeX must begin with a
1670 `\input' command and must contain an `@setfilename' command:
1673 @setfilename ARG-NOT-USED-BY-@TEX{}
1675 The first command instructs TeX to load the macros it needs to process
1676 a Texinfo file and the second command opens auxiliary files.
1678 Every Texinfo file must end with a line that terminates TeX's
1679 processing and forces out unfinished pages:
1683 Strictly speaking, these lines are all a Texinfo file needs to be
1684 processed successfully by TeX.
1686 Usually, however, the beginning includes an `@settitle' command to
1687 define the title of the printed manual, an `@setchapternewpage'
1688 command, a title page, a copyright page, and permissions. Besides an
1689 `@bye', the end of a file usually includes indices and a table of
1690 contents. (And of course most manuals contain a body of text as well.)
1692 For more information, see
1693 *Note `@settitle': settitle,
1694 *Note `@setchapternewpage': setchapternewpage,
1695 *Note Page Headings: Headings,
1696 *Note Titlepage & Copyright Page::,
1697 *Note Printing Indices & Menus::, and
1701 File: texinfo.info, Node: Preparing for TeX, Next: Overfull hboxes, Prev: Requirements Summary, Up: Format/Print Hardcopy
1703 19.8 Preparing to Use TeX
1704 =========================
1706 TeX needs to know where to find the `texinfo.tex' file that you have
1707 told it to input with the `\input texinfo' command at the beginning of
1708 the first line. The `texinfo.tex' file tells TeX how to handle
1709 @-commands; it is included in all standard GNU distributions.
1711 Usually, the `texinfo.tex' file is put under the default directory
1712 that contains TeX macros
1713 (`/usr/local/share/texmf/tex/texinfo/texinfo.tex' by default) when GNU
1714 Emacs or other GNU software is installed. In this case, TeX will find
1715 the file and you do not need to do anything special. Alternatively,
1716 you can put `texinfo.tex' in the current directory when you run TeX,
1717 and TeX will find it there.
1719 Also, you should install `epsf.tex' in the same place as
1720 `texinfo.tex', if it is not already installed from another
1721 distribution. This file is needed to support the `@image' command
1724 Optionally, you may create an additional `texinfo.cnf', and install
1725 it as well. This file is read by TeX at the `@setfilename' command
1726 (*note `@setfilename': setfilename.). You can put any commands you
1727 like there according to local site-wide conventions, and they will be
1728 read by TeX when processing any Texinfo document. For example, if
1729 `texinfo.cnf' contains the a single line `@afourpaper' (*note A4
1730 Paper::), then all Texinfo documents will be processed with that page
1731 size in effect. If you have nothing to put in `texinfo.cnf', you do
1732 not need to create it.
1734 If neither of the above locations for these system files suffice for
1735 you, you can specify the directories explicitly. For `texinfo.tex',
1736 you can do this by writing the complete path for the file after the
1737 `\input' command. Another way, that works for both `texinfo.tex' and
1738 `texinfo.cnf' (and any other file TeX might read), is to set the
1739 `TEXINPUTS' environment variable in your `.cshrc' or `.profile' file.
1741 Which you use of `.cshrc' or `.profile' depends on whether you use a
1742 Bourne shell-compatible (`sh', `bash', `ksh', ...) or C
1743 shell-compatible (`csh', `tcsh') command interpreter. The latter read
1744 the `.cshrc' file for initialization information, and the former read
1747 In a `.cshrc' file, you could use the following `csh' command
1750 setenv TEXINPUTS .:/home/me/mylib:/usr/lib/tex/macros
1752 In a `.profile' file, you could use the following `sh' command
1755 TEXINPUTS=.:/home/me/mylib:/usr/lib/tex/macros
1758 This would cause TeX to look for `\input' file first in the current
1759 directory, indicated by the `.', then in a hypothetical user's
1760 `me/mylib' directory, and finally in a system directory.
1763 File: texinfo.info, Node: Overfull hboxes, Next: smallbook, Prev: Preparing for TeX, Up: Format/Print Hardcopy
1765 19.9 Overfull "hboxes"
1766 ======================
1768 TeX is sometimes unable to typeset a line without extending it into the
1769 right margin. This can occur when TeX comes upon what it interprets as
1770 a long word that it cannot hyphenate, such as an electronic mail
1771 network address or a very long title. When this happens, TeX prints an
1772 error message like this:
1774 Overfull \hbox (20.76302pt too wide)
1776 (In TeX, lines are in "horizontal boxes", hence the term, "hbox". The
1777 backslash, `\', is the TeX equivalent of `@'.)
1779 TeX also provides the line number in the Texinfo source file and the
1780 text of the offending line, which is marked at all the places that TeX
1781 knows how to hyphenate words. *Note Catching Errors with TeX
1782 Formatting: Debugging with TeX, for more information about typesetting
1785 If the Texinfo file has an overfull hbox, you can rewrite the sentence
1786 so the overfull hbox does not occur, or you can decide to leave it. A
1787 small excursion into the right margin often does not matter and may not
1790 However, unless told otherwise, TeX will print a large, ugly, black
1791 rectangle beside the line that contains the overfull hbox. This is so
1792 you will notice the location of the problem if you are correcting a
1795 To prevent such a monstrosity from marring your final printout, write
1796 the following in the beginning of the Texinfo file on a line of its own,
1797 before the `@titlepage' command:
1802 File: texinfo.info, Node: smallbook, Next: A4 Paper, Prev: Overfull hboxes, Up: Format/Print Hardcopy
1804 19.10 Printing "Small" Books
1805 ============================
1807 By default, TeX typesets pages for printing in an 8.5 by 11 inch
1808 format. However, you can direct TeX to typeset a document in a 7 by
1809 9.25 inch format that is suitable for bound books by inserting the
1810 following command on a line by itself at the beginning of the Texinfo
1811 file, before the title page:
1815 (Since regular sized books are often about 7 by 9.25 inches, this
1816 command might better have been called the `@regularbooksize' command,
1817 but it came to be called the `@smallbook' command by comparison to the
1818 8.5 by 11 inch format.)
1820 If you write the `@smallbook' command between the start-of-header and
1821 end-of-header lines, the Texinfo mode TeX region formatting command,
1822 `texinfo-tex-region', will format the region in "small" book size
1823 (*note Start of Header::).
1825 The Free Software Foundation distributes printed copies of `The GNU
1826 Emacs Manual' and other manuals in the "small" book size. *Note
1827 `@smallexample' and `@smalllisp': smallexample & smalllisp, for
1828 information about commands that make it easier to produce examples for
1831 Alternatively, to avoid embedding this physical paper size in your
1832 document, use `texi2dvi' to format your document (*note Format with
1833 texi2dvi::), and supply `-t @smallbook' as an argument. Then other
1834 people do not have to change the document source file to format it
1838 File: texinfo.info, Node: A4 Paper, Next: Cropmarks and Magnification, Prev: smallbook, Up: Format/Print Hardcopy
1840 19.11 Printing on A4 Paper
1841 ==========================
1843 You can tell TeX to typeset a document for printing on European size A4
1844 paper with the `@afourpaper' command. Write the command on a line by
1845 itself between `@iftex' and `@end iftex' lines near the beginning of
1846 the Texinfo file, before the title page:
1848 For example, this is how you would write the header for this manual:
1850 \input texinfo @c -*-texinfo-*-
1851 @c %**start of header
1852 @setfilename texinfo
1860 Alternatively, to avoid embedding this physical paper size in your
1861 document, use `texi2dvi' to format your document (*note Format with
1862 texi2dvi::), and supply `-t @afourpaper' as an argument. Then other
1863 people do not have to change the document source file to format it
1866 Another alternative: put the `@afourpaper' command in the file
1867 `texinfo.cnf' that TeX will read. (No need for `@iftex' there.) This
1868 will automatically typeset all the Texinfo documents at your site with
1869 that paper size in effect.
1872 File: texinfo.info, Node: Cropmarks and Magnification, Prev: A4 Paper, Up: Format/Print Hardcopy
1874 19.12 Cropmarks and Magnification
1875 =================================
1877 You can attempt to direct TeX to print cropmarks at the corners of
1878 pages with the `@cropmarks' command. Write the `@cropmarks' command on
1879 a line by itself between `@iftex' and `@end iftex' lines near the
1880 beginning of the Texinfo file, before the title page, like this:
1886 This command is mainly for printers that typeset several pages on one
1887 sheet of film; but you can attempt to use it to mark the corners of a
1888 book set to 7 by 9.25 inches with the `@smallbook' command. (Printers
1889 will not produce cropmarks for regular sized output that is printed on
1890 regular sized paper.) Since different printing machines work in
1891 different ways, you should explore the use of this command with a
1892 spirit of adventure. You may have to redefine the command in the
1893 `texinfo.tex' definitions file.
1895 You can attempt to direct TeX to typeset pages larger or smaller than
1896 usual with the `\mag' TeX command. Everything that is typeset is
1897 scaled proportionally larger or smaller. (`\mag' stands for
1898 "magnification".) This is _not_ a Texinfo @-command, but is a plain
1899 TeX command that is prefixed with a backslash. You have to write this
1900 command between `@tex' and `@end tex' (*note Raw Formatter Commands::).
1902 Follow the `\mag' command with an `=' and then a number that is 1000
1903 times the magnification you desire. For example, to print pages at 1.2
1904 normal size, write the following near the beginning of the Texinfo
1905 file, before the title page:
1911 With some printing technologies, you can print normal-sized copies
1912 that look better than usual by using a larger-than-normal master.
1914 Depending on your system, `\mag' may not work or may work only at
1915 certain magnifications. Be prepared to experiment.
1918 File: texinfo.info, Node: Create an Info File, Next: Install an Info File, Prev: Format/Print Hardcopy, Up: Top
1920 20 Creating an Info File
1921 ************************
1923 `makeinfo' is a utility that converts a Texinfo file into an Info file;
1924 `texinfo-format-region' and `texinfo-format-buffer' are GNU Emacs
1925 functions that do the same.
1927 A Texinfo file must contain an `@setfilename' line near its
1928 beginning, otherwise the Info formatting commands will fail.
1930 For information on installing the Info file in the Info system, see
1931 *Note Install an Info File::.
1935 * makeinfo advantages:: `makeinfo' provides better error checking.
1936 * Invoking makeinfo:: How to run `makeinfo' from a shell.
1937 * makeinfo options:: Specify fill-column and other options.
1938 * Pointer Validation:: How to check that pointers point somewhere.
1939 * makeinfo in Emacs:: How to run `makeinfo' from Emacs.
1940 * texinfo-format commands:: Two Info formatting commands written
1941 in Emacs Lisp are an alternative
1943 * Batch Formatting:: How to format for Info in Emacs Batch mode.
1944 * Tag and Split Files:: How tagged and split files help Info
1948 File: texinfo.info, Node: makeinfo advantages, Next: Invoking makeinfo, Prev: Create an Info File, Up: Create an Info File
1950 `makeinfo' Preferred
1951 ====================
1953 The `makeinfo' utility creates an Info file from a Texinfo source
1954 file more quickly than either of the Emacs formatting commands and
1955 provides better error messages. We recommend it. `makeinfo' is a C
1956 program that is independent of Emacs. You do not need to run Emacs to
1957 use `makeinfo', which means you can use `makeinfo' on machines that are
1958 too small to run Emacs. You can run `makeinfo' in any one of three
1959 ways: from an operating system shell, from a shell inside Emacs, or by
1960 typing a key command in Texinfo mode in Emacs.
1962 The `texinfo-format-region' and the `texinfo-format-buffer' commands
1963 are useful if you cannot run `makeinfo'. Also, in some circumstances,
1964 they format short regions or buffers more quickly than `makeinfo'.
1967 File: texinfo.info, Node: Invoking makeinfo, Next: makeinfo options, Prev: makeinfo advantages, Up: Create an Info File
1969 20.1 Running `makeinfo' from a Shell
1970 ====================================
1972 To create an Info file from a Texinfo file, type `makeinfo' followed by
1973 the name of the Texinfo file. Thus, to create the Info file for Bison,
1974 type the following to the shell: is the prompt):
1976 makeinfo bison.texinfo
1978 (You can run a shell inside Emacs by typing `M-x shell'.)
1980 Sometimes you will want to specify options. For example, if you wish
1981 to discover which version of `makeinfo' you are using, type:
1985 *Note makeinfo options::, for more information.
1988 File: texinfo.info, Node: makeinfo options, Next: Pointer Validation, Prev: Invoking makeinfo, Up: Create an Info File
1990 20.2 Options for `makeinfo'
1991 ===========================
1993 The `makeinfo' command takes a number of options. Most often, options
1994 are used to set the value of the fill column and specify the footnote
1995 style. Each command line option is a word preceded by `--' or a letter
1996 preceded by `-'. You can use abbreviations for the long option names
1997 as long as they are unique.
1999 For example, you could use the following shell command to create an
2000 Info file for `bison.texinfo' in which each line is filled to only 68
2003 makeinfo --fill-column=68 bison.texinfo
2005 You can write two or more options in sequence, like this:
2007 makeinfo --no-split --fill-column=70 ...
2009 This would keep the Info file together as one possibly very long file
2010 and would also set the fill column to 70.
2015 Cause the variable VAR to be defined. This is equivalent to `@set
2016 VAR' in the Texinfo file (*note set clear value::).
2018 `--error-limit=LIMIT'
2019 Set the maximum number of errors that `makeinfo' will report
2020 before exiting (on the assumption that continuing would be
2021 useless); default 100.
2023 `--fill-column=WIDTH'
2024 Specify the maximum number of columns in a line; this is the
2025 right-hand edge of a line. Paragraphs that are filled will be
2026 filled to this width. (Filling is the process of breaking up and
2027 connecting lines so that lines are the same length as or shorter
2028 than the number specified as the fill column. Lines are broken
2029 between words.) The default value is 72.
2031 `--footnote-style=STYLE'
2032 Set the footnote style to STYLE, either `end' for the end node
2033 style (the default) or `separate' for the separate node style.
2034 The value set by this option overrides the value set in a Texinfo
2035 file by an `@footnotestyle' command (*note Footnotes::). When the
2036 footnote style is `separate', `makeinfo' makes a new node
2037 containing the footnotes found in the current node. When the
2038 footnote style is `end', `makeinfo' places the footnote references
2039 at the end of the current node.
2042 Ordinarily, if the input file has errors, the output files are not
2043 created. With this option, they are preserved.
2046 Print a usage message listing all available options, then exit
2050 Add `dir' to the directory search list for finding files that are
2051 included using the `@include' command. By default, `makeinfo'
2052 searches only the current directory.
2055 Do not include menus or node lines in the output. This results in
2056 an ASCII file that you cannot read in Info since it does not
2057 contain the requisite nodes or menus. It is primarily useful to
2058 extract certain pieces of a manual into separate files to be
2059 included in a distribution, such as `INSTALL' files.
2062 Suppress the splitting stage of `makeinfo'. By default, large
2063 output files (where the size is greater than 70k bytes) are split
2064 into smaller subfiles, each one approximately 50k bytes.
2066 `--no-pointer-validate'
2068 Suppress the pointer-validation phase of `makeinfo'. Normally,
2069 after a Texinfo file is processed, some consistency checks are
2070 made to ensure that cross references can be resolved, etc. *Note
2071 Pointer Validation::.
2074 Suppress warning messages (but _not_ error messages). You might
2075 want this if the file you are creating has examples of Texinfo
2076 cross references within it, and the nodes that are referenced do
2079 `--no-number-footnotes'
2080 Suppress automatic footnote numbering. By default, `makeinfo'
2081 numbers each footnote sequentially in a single node, resetting the
2082 current footnote number to 1 at the start of each node.
2086 Specify that the output should be directed to FILE and not to the
2087 file name specified in the `@setfilename' command found in the
2088 Texinfo source (*note setfilename::). If FILE is `-', output goes
2089 to standard output and `--no-split' is implied.
2092 Prepend `dir' to the directory search list for `@include'. See
2093 `-I' for more details.
2095 `--paragraph-indent=INDENT'
2096 Set the paragraph indentation style to INDENT. The value set by
2097 this option overrides the value set in a Texinfo file by an
2098 `@paragraphindent' command (*note paragraphindent::). The value
2099 of INDENT is interpreted as follows:
2102 Preserve any existing indentation at the starts of paragraphs.
2105 Delete any existing indentation.
2108 Indent each paragraph by that number of spaces.
2110 `--reference-limit=LIMIT'
2111 Set the value of the number of references to a node that
2112 `makeinfo' will make without reporting a warning. If a node has
2113 more than this number of references in it, `makeinfo' will make the
2114 references but also report a warning. The default is 1000.
2117 Cause VAR to be undefined. This is equivalent to `@clear VAR' in
2118 the Texinfo file (*note set clear value::).
2121 Cause `makeinfo' to display messages saying what it is doing.
2122 Normally, `makeinfo' only outputs messages if there are errors or
2126 Print the version number, then exit successfully.
2130 File: texinfo.info, Node: Pointer Validation, Next: makeinfo in Emacs, Prev: makeinfo options, Up: Create an Info File
2132 20.3 Pointer Validation
2133 =======================
2135 If you do not suppress pointer-validation, `makeinfo' will check the
2136 validity of the final Info file. Mostly, this means ensuring that
2137 nodes you have referenced really exist. Here is a complete list of what
2140 1. If a `Next', `Previous', or `Up' node reference is a reference to a
2141 node in the current file and is not an external reference such as
2142 to `(dir)', then the referenced node must exist.
2144 2. In every node, if the `Previous' node is different from the `Up'
2145 node, then the `Previous' node must also be pointed to by a `Next'
2148 3. Every node except the `Top' node must have an `Up' pointer.
2150 4. The node referenced by an `Up' pointer must contain a reference to
2151 the current node in some manner other than through a `Next'
2152 reference. This includes menu entries and cross references.
2154 5. If the `Next' reference of a node is not the same as the `Next'
2155 reference of the `Up' reference, then the node referenced by the
2156 `Next' pointer must have a `Previous' pointer that points back to
2157 the current node. This rule allows the last node in a section to
2158 point to the first node of the next chapter.
2161 File: texinfo.info, Node: makeinfo in Emacs, Next: texinfo-format commands, Prev: Pointer Validation, Up: Create an Info File
2163 20.4 Running `makeinfo' inside Emacs
2164 ====================================
2166 You can run `makeinfo' in GNU Emacs Texinfo mode by using either the
2167 `makeinfo-region' or the `makeinfo-buffer' commands. In Texinfo mode,
2168 the commands are bound to `C-c C-m C-r' and `C-c C-m C-b' by default.
2171 `M-x makeinfo-region'
2172 Format the current region for Info.
2175 `M-x makeinfo-buffer'
2176 Format the current buffer for Info.
2178 When you invoke either `makeinfo-region' or `makeinfo-buffer', Emacs
2179 prompts for a file name, offering the name of the visited file as the
2180 default. You can edit the default file name in the minibuffer if you
2181 wish, before pressing <RET> to start the `makeinfo' process.
2183 The Emacs `makeinfo-region' and `makeinfo-buffer' commands run the
2184 `makeinfo' program in a temporary shell buffer. If `makeinfo' finds
2185 any errors, Emacs displays the error messages in the temporary buffer.
2187 You can parse the error messages by typing `C-x `' (`next-error').
2188 This causes Emacs to go to and position the cursor on the line in the
2189 Texinfo source that `makeinfo' thinks caused the error. *Note Running
2190 `make' or Compilers Generally: (xemacs)Compilation, for more
2191 information about using the `next-error' command.
2193 In addition, you can kill the shell in which the `makeinfo' command
2194 is running or make the shell buffer display its most recent output.
2197 `M-x makeinfo-kill-job'
2198 Kill the current running `makeinfo' job created by
2199 `makeinfo-region' or `makeinfo-buffer'.
2202 `M-x makeinfo-recenter-output-buffer'
2203 Redisplay the `makeinfo' shell buffer to display its most recent
2206 (Note that the parallel commands for killing and recentering a TeX job
2207 are `C-c C-t C-k' and `C-c C-t C-l'. *Note Texinfo Mode Printing::.)
2209 You can specify options for `makeinfo' by setting the
2210 `makeinfo-options' variable with either the `M-x edit-options' or the
2211 `M-x set-variable' command, or by setting the variable in your `.emacs'
2212 initialization file.
2214 For example, you could write the following in your `.emacs' file:
2216 (setq makeinfo-options
2217 "--paragraph-indent=0 --no-split
2218 --fill-column=70 --verbose")
2220 For more information, see
2221 *Note Editing Variable Values: (xemacs)Edit Options,
2222 *Note Examining and Setting Variables: (xemacs)Examining,
2223 *Note Init File: (xemacs)Init File, and
2224 *Note Options for `makeinfo': makeinfo options.
2227 File: texinfo.info, Node: texinfo-format commands, Next: Batch Formatting, Prev: makeinfo in Emacs, Up: Create an Info File
2229 20.5 The `texinfo-format...' Commands
2230 =====================================
2232 In GNU Emacs in Texinfo mode, you can format part or all of a Texinfo
2233 file with the `texinfo-format-region' command. This formats the
2234 current region and displays the formatted text in a temporary buffer
2235 called `*Info Region*'.
2237 Similarly, you can format a buffer with the `texinfo-format-buffer'
2238 command. This command creates a new buffer and generates the Info file
2239 in it. Typing `C-x C-s' will save the Info file under the name
2240 specified by the `@setfilename' line which must be near the beginning
2241 of the Texinfo file.
2244 ``texinfo-format-region''
2245 Format the current region for Info.
2248 ``texinfo-format-buffer''
2249 Format the current buffer for Info.
2251 The `texinfo-format-region' and `texinfo-format-buffer' commands
2252 provide you with some error checking, and other functions can provide
2253 you with further help in finding formatting errors. These procedures
2254 are described in an appendix; see *Note Catching Mistakes::. However,
2255 the `makeinfo' program is often faster and provides better error
2256 checking (*note makeinfo in Emacs::).
2259 File: texinfo.info, Node: Batch Formatting, Next: Tag and Split Files, Prev: texinfo-format commands, Up: Create an Info File
2261 20.6 Batch Formatting
2262 =====================
2264 You can format Texinfo files for Info using `batch-texinfo-format' and
2265 Emacs Batch mode. You can run Emacs in Batch mode from any shell,
2266 including a shell inside of Emacs. (*Note Command Line Switches and
2267 Arguments: (xemacs)Command Switches.)
2269 Here is a shell command to format all the files that end in
2270 `.texinfo' in the current directory:
2272 emacs -batch -funcall batch-texinfo-format *.texinfo
2274 Emacs processes all the files listed on the command line, even if an
2275 error occurs while attempting to format some of them.
2277 Run `batch-texinfo-format' only with Emacs in Batch mode as shown; it
2278 is not interactive. It kills the Batch mode Emacs on completion.
2280 `batch-texinfo-format' is convenient if you lack `makeinfo' and want
2281 to format several Texinfo files at once. When you use Batch mode, you
2282 create a new Emacs process. This frees your current Emacs, so you can
2283 continue working in it. (When you run `texinfo-format-region' or
2284 `texinfo-format-buffer', you cannot use that Emacs for anything else
2285 until the command finishes.)
2288 File: texinfo.info, Node: Tag and Split Files, Prev: Batch Formatting, Up: Create an Info File
2290 20.7 Tag Files and Split Files
2291 ==============================
2293 If a Texinfo file has more than 30,000 bytes, `texinfo-format-buffer'
2294 automatically creates a tag table for its Info file; `makeinfo' always
2295 creates a tag table. With a "tag table", Info can jump to new nodes
2296 more quickly than it can otherwise.
2298 In addition, if the Texinfo file contains more than about 70,000
2299 bytes, `texinfo-format-buffer' and `makeinfo' split the large Info file
2300 into shorter "indirect" subfiles of about 50,000 bytes each. Big files
2301 are split into smaller files so that Emacs does not need to make a
2302 large buffer to hold the whole of a large Info file; instead, Emacs
2303 allocates just enough memory for the small, split off file that is
2304 needed at the time. This way, Emacs avoids wasting memory when you run
2305 Info. (Before splitting was implemented, Info files were always kept
2306 short and "include files" were designed as a way to create a single,
2307 large printed manual out of the smaller Info files. *Note Include
2308 Files::, for more information. Include files are still used for very
2309 large documents, such as `The XEmacs Lisp Reference Manual', in which
2310 each chapter is a separate file.)
2312 When a file is split, Info itself makes use of a shortened version of
2313 the original file that contains just the tag table and references to
2314 the files that were split off. The split off files are called
2317 The split off files have names that are created by appending `-1',
2318 `-2', `-3' and so on to the file name specified by the `@setfilename'
2319 command. The shortened version of the original file continues to have
2320 the name specified by `@setfilename'.
2322 At one stage in writing this document, for example, the Info file was
2323 saved as `test-texinfo' and that file looked like this:
2325 Info file: test-texinfo, -*-Text-*-
2326 produced by texinfo-format-buffer
2327 from file: new-texinfo-manual.texinfo
2332 test-texinfo-2: 50422
2333 test-texinfo-3: 101300
2338 Node: info file^?1271
2339 Node: printed manual^?4853
2340 Node: conventions^?6855
2343 (But `test-texinfo' had far more nodes than are shown here.) Each of
2344 the split off, indirect files, `test-texinfo-1', `test-texinfo-2', and
2345 `test-texinfo-3', is listed in this file after the line that says
2346 `Indirect:'. The tag table is listed after the line that says `Tag
2349 In the list of indirect files, the number following the file name
2350 records the cumulative number of bytes in the preceding indirect files,
2351 not counting the file list itself, the tag table, or the permissions
2352 text in each file. In the tag table, the number following the node name
2353 records the location of the beginning of the node, in bytes from the
2356 If you are using `texinfo-format-buffer' to create Info files, you
2357 may want to run the `Info-validate' command. (The `makeinfo' command
2358 does such a good job on its own, you do not need `Info-validate'.)
2359 However, you cannot run the `M-x Info-validate' node-checking command
2360 on indirect files. For information on how to prevent files from being
2361 split and how to validate the structure of the nodes, see *Note Using
2365 File: texinfo.info, Node: Install an Info File, Next: Command List, Prev: Create an Info File, Up: Top
2367 21 Installing an Info File
2368 **************************
2370 Info files are usually kept in the `info' directory. You can read Info
2371 files using the standalone Info program or the Info reader built into
2372 Emacs. (*note info: (info)Top, for an introduction to Info.)
2376 * Directory file:: The top level menu for all Info files.
2377 * New Info File:: Listing a new info file.
2378 * Other Info Directories:: How to specify Info files that are
2379 located in other directories.
2380 * Installing Dir Entries:: How to specify what menu entry to add
2381 to the Info directory.
2382 * Invoking install-info:: `install-info' options.
2385 File: texinfo.info, Node: Directory file, Next: New Info File, Prev: Install an Info File, Up: Install an Info File
2390 For Info to work, the `info' directory must contain a file that
2391 serves as a top level directory for the Info system. By convention,
2392 this file is called `dir'. (You can find the location of this file
2393 within Emacs by typing `C-h i' to enter Info and then typing `C-x C-f'
2394 to see the pathname to the `info' directory.)
2396 The `dir' file is itself an Info file. It contains the top level
2397 menu for all the Info files in the system. The menu looks like this:
2401 * Info: (info). Documentation browsing system.
2402 * Emacs: (emacs). The extensible, self-documenting
2404 * Texinfo: (texinfo). With one source file, make
2405 either a printed manual using
2406 TeX or an Info file.
2409 Each of these menu entries points to the `Top' node of the Info file
2410 that is named in parentheses. (The menu entry does not need to specify
2411 the `Top' node, since Info goes to the `Top' node if no node name is
2412 mentioned. *Note Nodes in Other Info Files: Other Info Files.)
2414 Thus, the `Info' entry points to the `Top' node of the `info' file
2415 and the `Emacs' entry points to the `Top' node of the `emacs' file.
2417 In each of the Info files, the `Up' pointer of the `Top' node refers
2418 back to the `dir' file. For example, the line for the `Top' node of
2419 the Emacs manual looks like this in Info:
2421 File: emacs Node: Top, Up: (DIR), Next: Distrib
2423 (Note that in this case, the `dir' file name is written in upper case
2424 letters--it can be written in either upper or lower case. Info has a
2425 feature that it will change the case of the file name to lower case if
2426 it cannot find the name as written.)
2429 File: texinfo.info, Node: New Info File, Next: Other Info Directories, Prev: Directory file, Up: Install an Info File
2431 21.1 Listing a New Info File
2432 ============================
2434 To add a new Info file to your system, you must write a menu entry to
2435 add to the menu in the `dir' file in the `info' directory. For
2436 example, if you were adding documentation for GDB, you would write the
2437 following new entry:
2439 * GDB: (gdb). The source-level C debugger.
2441 The first part of the menu entry is the menu entry name, followed by a
2442 colon. The second part is the name of the Info file, in parentheses,
2443 followed by a period. The third part is the description.
2445 The name of an Info file often has a `.info' extension. Thus, the
2446 Info file for GDB might be called either `gdb' or `gdb.info'. The Info
2447 reader programs automatically try the file name both with and without
2448 `.info'; so it is better to avoid clutter and not to write `.info'
2449 explicitly in the menu entry. For example, the GDB menu entry should
2450 use just `gdb' for the file name, not `gdb.info'.
2453 File: texinfo.info, Node: Other Info Directories, Next: Installing Dir Entries, Prev: New Info File, Up: Install an Info File
2455 21.2 Info Files in Other Directories
2456 ====================================
2458 If an Info file is not in the `info' directory, there are three ways to
2459 specify its location:
2461 * Write the pathname in the `dir' file as the second part of the
2464 * If you are using Emacs, list the name of the file in a second `dir'
2465 file, in its directory; and then add the name of that directory to
2466 the `Info-directory-list' variable in your personal or site
2467 initialization file.
2469 This tells Emacs where to look for `dir' files. Emacs merges the
2470 files named `dir' from each of the listed directories. (In Emacs
2471 version 18, you can set the `Info-directory' variable to the name
2472 of only one directory.)
2474 * Specify the Info directory name in the `INFOPATH' environment
2475 variable in your `.profile' or `.cshrc' initialization file.
2476 (Only you and others who set this environment variable will be
2477 able to find Info files whose location is specified this way.)
2479 For example, to reach a test file in the `/home/bob/manuals'
2480 directory, you could add an entry like this to the menu in the `dir'
2483 * Test: (/home/bob/manuals/info-test). Bob's own test file.
2485 In this case, the absolute file name of the `info-test' file is written
2486 as the second part of the menu entry.
2488 Alternatively, you could write the following in your `.emacs' file:
2490 (setq Info-directory-list
2491 '("/home/bob/manuals"
2494 This tells Emacs to merge the `dir' file from the `/home/bob/manuals'
2495 directory with the `dir' file from the `/usr/local/info' directory.
2496 Info will list the `/home/bob/manuals/info-test' file as a menu entry
2497 in the `/home/bob/manuals/dir' file.
2499 Finally, you can tell Info where to look by setting the `INFOPATH'
2500 environment variable in your `.cshrc' or `.profile' file. If you use a
2501 Bourne-compatible shell such as `sh' or `bash' for your shell command
2502 interpreter, you set the `INFOPATH' environment variable in the
2503 `.profile' initialization file; but if you use `csh' or `tcsh', you
2504 must set the variable in the `.cshrc' initialization file. The two
2505 types of shells use different syntax.
2507 * In a `.cshrc' file, you could set the `INFOPATH' variable as
2510 setenv INFOPATH .:~/manuals:/usr/local/emacs/info
2512 * In a `.profile' file, you would achieve the same effect by writing:
2514 INFOPATH=.:$HOME/manuals:/usr/local/emacs/info
2517 The `.' indicates the current directory as usual. Emacs uses the
2518 `INFOPATH' environment variable to initialize the value of Emacs's own
2519 `Info-directory-list' variable.
2521 However you set `INFOPATH', if its last character is a colon, this is
2522 replaced by the default (compiled-in) path. This gives you a way to
2523 augment the default path with new directories without having to list all
2524 the standard places. For example (using `sh' syntax:
2526 INFOPATH=/local/info:
2529 will search `/local/info' first, then the standard directories.
2530 Leading or doubled colons are not treated specially.
2533 File: texinfo.info, Node: Installing Dir Entries, Next: Invoking install-info, Prev: Other Info Directories, Up: Install an Info File
2535 21.3 Installing Info Directory Files
2536 ====================================
2538 When you install an Info file onto your system, you can use the program
2539 `install-info' to update the Info directory file `dir'. Normally the
2540 makefile for the package runs `install-info', just after copying the
2541 Info file into its proper installed location.
2543 In order for the Info file to work with `install-info', you should
2544 use the commands `@dircategory' and `@direntry' in the Texinfo source
2545 file. Use `@direntry' to specify the menu entry to add to the Info
2546 directory file, and use `@dircategory' to specify which part of the
2547 Info directory to put it in. Here is how these commands are used in
2550 @dircategory Texinfo documentation system
2552 * Texinfo: (texinfo). The GNU documentation format.
2553 * install-info: (texinfo)Invoking install-info. ...
2557 Here's what this produces in the Info file:
2559 INFO-DIR-SECTION Texinfo documentation system
2560 START-INFO-DIR-ENTRY
2561 * Texinfo: (texinfo). The GNU documentation format.
2562 * install-info: (texinfo)Invoking install-info. ...
2566 The `install-info' program sees these lines in the Info file, and that
2567 is how it knows what to do.
2569 Always use the `@direntry' and `@dircategory' commands near the
2570 beginning of the Texinfo input, before the first `@node' command. If
2571 you use them later on in the input, `install-info' will not notice them.
2573 If you use `@dircategory' more than once in the Texinfo source, each
2574 usage specifies one category; the new menu entry is added to the Info
2575 directory file in each of the categories you specify. If you use
2576 `@direntry' more than once, each usage specifies one menu entry; each
2577 of these menu entries is added to the directory in each of the
2578 specified categories.
2581 File: texinfo.info, Node: Invoking install-info, Prev: Installing Dir Entries, Up: Install an Info File
2583 21.4 Invoking install-info
2584 ==========================
2586 `install-info' inserts menu entries from an Info file into the
2587 top-level `dir' file in the Info system (see the previous sections for
2588 an explanation of how the `dir' file works). It's most often run as
2589 part of software installation, or when constructing a dir file for all
2590 manuals on a system. Synopsis:
2592 install-info [OPTION]... [INFO-FILE [DIR-FILE]]
2594 If INFO-FILE or DIR-FILE are not specified, the various options
2595 (described below) that define them must be. There are no compile-time
2596 defaults, and standard input is never used. `install-info' can read
2597 only one info file and write only one dir file per invocation.
2599 If DIR-FILE (however specified) does not exist, `install-info'
2600 creates it if possible (with no entries).
2605 Delete the entries in INFO-FILE from DIR-FILE. The file name in
2606 the entry in DIR-FILE must be INFO-FILE (except for an optional
2607 `.info' in either one). Don't insert any new entries.
2610 Specify file name of the Info directory file. This is equivalent
2611 to using the DIR-FILE argument.
2614 Insert TEXT as an Info directory entry; TEXT should have the form
2615 of an Info menu item line plus zero or more extra lines starting
2616 with whitespace. If you specify more than one entry, they are all
2617 added. If you don't specify any entries, they are determined from
2618 information in the Info file itself.
2621 Display a usage message listing basic usage and all available
2622 options, then exit successfully.
2625 Specify Info file to install in the directory. This is equivalent
2626 to using the INFO-FILE argument.
2629 Equivalent to `--dir-file=DIR/dir'.
2632 Same as `--entry=TEXT'. An Info directory entry is actually a
2642 Put this file's entries in section SEC of the directory. If you
2643 specify more than one section, all the entries are added in each
2644 of the sections. If you don't specify any sections, they are
2645 determined from information in the Info file itself.
2648 Display version information and exit successfully.
2652 File: texinfo.info, Node: Command List, Next: Tips, Prev: Install an Info File, Up: Top
2654 Appendix A @-Command List
2655 *************************
2657 Here is an alphabetical list of the @-commands in Texinfo. Square
2658 brackets, [ ], indicate optional arguments; an ellipsis, `...',
2659 indicates repeated text.
2663 An `@' followed by a space, tab, or newline produces a normal,
2664 stretchable, interword space. *Note Multiple Spaces::.
2667 Generate an exclamation point that really does end a sentence
2668 (usually after an end-of-sentence capital letter). *Note Ending a
2673 Generate an umlaut or acute accent, respectively, over the next
2674 character, as in o" and o'. *Note Inserting Accents::.
2677 Force a line break. Do not end a paragraph that uses `@*' with an
2678 `@refill' command. *Note Line Breaks::.
2681 Generate a cedilla accent under C, as in c,. *Note Inserting
2685 Insert a discretionary hyphenation point. *Note - and
2689 Produce a period that really does end a sentence (usually after an
2690 end-of-sentence capital letter). *Note Ending a Sentence::.
2693 Indicate to TeX that an immediately preceding period, question
2694 mark, exclamation mark, or colon does not end a sentence. Prevent
2695 TeX from inserting extra whitespace as it does at the end of a
2696 sentence. The command has no effect on the Info file output.
2697 *Note Not Ending a Sentence::.
2700 Generate a macro (bar) accent over the next character, as in o=.
2701 *Note Inserting Accents::.
2704 Generate a question mark that really does end a sentence (usually
2705 after an end-of-sentence capital letter). *Note Ending a
2709 Stands for an at sign, `@'. *Note Inserting @ and braces: Braces
2714 Generate a circumflex (hat) or grave accent, respectively, over
2715 the next character, as in o^. *Note Inserting Accents::.
2718 Stands for a left brace, `{'. *Note Inserting @ and braces:
2722 Stands for a right-hand brace, `}'.
2723 *Note Inserting @ and braces: Braces Atsigns.
2726 Generate a tilde accent over the next character, as in N~. *Note
2727 Inserting Accents::.
2731 Generate the uppercase and lowercase Scandinavian A-ring letters,
2732 respectively: AA, aa. *Note Inserting Accents::.
2736 Generate the uppercase and lowercase AE ligatures, respectively:
2737 AE, ae. *Note Inserting Accents::.
2740 Change page dimensions for the A4 paper size. Only allowed inside
2741 `@iftex' ... `@end iftex'. *Note A4 Paper::.
2744 Begin an appendix. The title appears in the table of contents of
2745 a printed manual. In Info, the title is underlined with
2746 asterisks. *Note The `@unnumbered' and `@appendix' Commands:
2747 unnumbered & appendix.
2749 `@appendixsec TITLE'
2750 `@appendixsection TITLE'
2751 Begin an appendix section within an appendix. The section title
2752 appears in the table of contents of a printed manual. In Info,
2753 the title is underlined with equal signs. `@appendixsection' is a
2754 longer spelling of the `@appendixsec' command. *Note Section
2755 Commands: unnumberedsec appendixsec heading.
2757 `@appendixsubsec TITLE'
2758 Begin an appendix subsection within an appendix. The title appears
2759 in the table of contents of a printed manual. In Info, the title
2760 is underlined with hyphens. *Note Subsection Commands:
2761 unnumberedsubsec appendixsubsec subheading.
2763 `@appendixsubsubsec TITLE'
2764 Begin an appendix subsubsection within an appendix subsection. The
2765 title appears in the table of contents of a printed manual. In
2766 Info, the title is underlined with periods. *Note The `subsub'
2767 Commands: subsubsection.
2770 Used following `@table', `@ftable', and `@vtable' to print the
2771 table's first column without highlighting ("as is"). *Note Making
2772 a Two-column Table: Two-column Tables.
2775 Typeset AUTHOR flushleft and underline it. *Note The `@title' and
2776 `@author' Commands: title subtitle author.
2779 Print TEXT in bold font. No effect in Info. *Note Fonts::.
2782 Generate a large round dot, or the closest possible thing to one.
2783 *Note `@bullet': bullet.
2786 Stop formatting a file. The formatters do not see the contents of
2787 a file following an `@bye' command. *Note Ending a File::.
2790 Begin a comment in Texinfo. The rest of the line does not appear
2791 in either the Info file or the printed manual. A synonym for
2792 `@comment'. *Note Comments: Comments.
2795 Highlight an example or quotation by drawing a box with rounded
2796 corners around it. Pair with `@end cartouche'. No effect in
2797 Info. *Note Drawing Cartouches Around Examples: cartouche.)
2799 `@center LINE-OF-TEXT'
2800 Center the line of text following the command. *Note `@center':
2801 titlefont center sp.
2803 `@centerchap LINE-OF-TEXT'
2804 Like `@chapter', but centers the chapter title. *Note `@chapter':
2807 `@chapheading TITLE'
2808 Print a chapter-like heading in the text, but not in the table of
2809 contents of a printed manual. In Info, the title is underlined
2810 with asterisks. *Note `@majorheading' and `@chapheading':
2811 majorheading & chapheading.
2814 Begin a chapter. The chapter title appears in the table of
2815 contents of a printed manual. In Info, the title is underlined
2816 with asterisks. *Note `@chapter': chapter.
2819 Add ENTRY to the index of concepts. *Note Defining the Entries of
2820 an Index: Index Entries.
2823 Highlight the name of a book or other reference that lacks a
2824 companion Info file. *Note `@cite': cite.
2827 Unset FLAG, preventing the Texinfo formatting commands from
2828 formatting text between subsequent pairs of `@ifset FLAG' and
2829 `@end ifset' commands, and preventing `@value{FLAG}' from
2830 expanding to the value to which FLAG is set. *Note `@set'
2831 `@clear' `@value': set clear value.
2833 `@code{SAMPLE-CODE}'
2834 Highlight text that is an expression, a syntactically complete
2835 token of a program, or a program name. *Note `@code': code.
2838 Begin a comment in Texinfo. The rest of the line does not appear
2839 in either the Info file or the printed manual. A synonym for `@c'.
2840 *Note Comments: Comments.
2843 Print a complete table of contents. Has no effect in Info, which
2844 uses menus instead. *Note Generating a Table of Contents:
2848 Generate a copyright symbol. *Note `@copyright': copyright symbol.
2850 `@defcodeindex INDEX-NAME'
2851 Define a new index and its indexing command. Print entries in an
2852 `@code' font. *Note Defining New Indices: New Indices.
2854 `@defcv CATEGORY CLASS NAME'
2855 `@defcvx CATEGORY CLASS NAME'
2856 Format a description for a variable associated with a class in
2857 object-oriented programming. Takes three arguments: the category
2858 of thing being defined, the class to which it belongs, and its
2859 name. *Note Definition Commands::, and *Note Def Cmds in Detail:
2862 `@deffn CATEGORY NAME ARGUMENTS...'
2863 `@deffnx CATEGORY NAME ARGUMENTS...'
2864 Format a description for a function, interactive command, or
2865 similar entity that may take arguments. `@deffn' takes as
2866 arguments the category of entity being described, the name of this
2867 particular entity, and its arguments, if any. *Note Definition
2870 `@defindex INDEX-NAME'
2871 Define a new index and its indexing command. Print entries in a
2872 roman font. *Note Defining New Indices: New Indices.
2874 `@definfoenclose NEW-COMMAND, BEFORE, AFTER,'
2875 Create new @-command for Info that marks text by enclosing it in
2876 strings that precede and follow the text. Write definition inside
2877 of `@ifinfo' ... `@end ifinfo'. *Note Customized Highlighting::.
2879 `@defivar CLASS INSTANCE-VARIABLE-NAME'
2880 `@defivarx CLASS INSTANCE-VARIABLE-NAME'
2881 This command formats a description for an instance variable in
2882 object-oriented programming. The command is equivalent to `@defcv
2883 {Instance Variable} ...'. *Note Definition Commands::, and *Note
2884 Def Cmds in Detail: deffnx.
2886 `@defmac MACRO-NAME ARGUMENTS...'
2887 `@defmacx MACRO-NAME ARGUMENTS...'
2888 Format a description for a macro. The command is equivalent to
2889 `@deffn Macro ...'. *Note Definition Commands::, and *Note Def
2890 Cmds in Detail: deffnx.
2892 `@defmethod CLASS METHOD-NAME ARGUMENTS...'
2893 `@defmethodx CLASS METHOD-NAME ARGUMENTS...'
2894 Format a description for a method in object-oriented programming.
2895 The command is equivalent to `@defop Method ...'. Takes as
2896 arguments the name of the class of the method, the name of the
2897 method, and its arguments, if any. *Note Definition Commands::,
2898 and *Note Def Cmds in Detail: deffnx.
2900 `@defop CATEGORY CLASS NAME ARGUMENTS...'
2901 `@defopx CATEGORY CLASS NAME ARGUMENTS...'
2902 Format a description for an operation in object-oriented
2903 programming. `@defop' takes as arguments the overall name of the
2904 category of operation, the name of the class of the operation, the
2905 name of the operation, and its arguments, if any. *Note
2906 Definition Commands::, and *Note Def Cmds in Detail: deffnx.
2908 `@defopt OPTION-NAME'
2909 `@defoptx OPTION-NAME'
2910 Format a description for a user option. The command is equivalent
2911 to `@defvr {User Option} ...'. *Note Definition Commands::, and
2912 *Note Def Cmds in Detail: deffnx.
2914 `@defspec SPECIAL-FORM-NAME ARGUMENTS...'
2915 `@defspecx SPECIAL-FORM-NAME ARGUMENTS...'
2916 Format a description for a special form. The command is
2917 equivalent to `@deffn {Special Form} ...'. *Note Definition
2918 Commands::, and *Note Def Cmds in Detail: deffnx.
2920 `@deftp CATEGORY NAME-OF-TYPE ATTRIBUTES...'
2921 `@deftpx CATEGORY NAME-OF-TYPE ATTRIBUTES...'
2922 Format a description for a data type. `@deftp' takes as arguments
2923 the category, the name of the type (which is a word like `int' or
2924 `float'), and then the names of attributes of objects of that type.
2925 *Note Definition Commands::, and *Note Def Cmds in Detail: deffnx.
2927 `@deftypefn CLASSIFICATION DATA-TYPE NAME ARGUMENTS...'
2928 `@deftypefnx CLASSIFICATION DATA-TYPE NAME ARGUMENTS...'
2929 Format a description for a function or similar entity that may take
2930 arguments and that is typed. `@deftypefn' takes as arguments the
2931 classification of entity being described, the type, the name of the
2932 entity, and its arguments, if any. *Note Definition Commands::,
2933 and *Note Def Cmds in Detail: deffnx.
2935 `@deftypefun DATA-TYPE FUNCTION-NAME ARGUMENTS...'
2936 `@deftypefunx DATA-TYPE FUNCTION-NAME ARGUMENTS...'
2937 Format a description for a function in a typed language. The
2938 command is equivalent to `@deftypefn Function ...'. *Note
2939 Definition Commands::, and *Note Def Cmds in Detail: deffnx.
2941 `@deftypemethod CLASS DATA-TYPE METHOD-NAME ARGUMENTS...'
2942 `@deftypemethodx CLASS DATA-TYPE METHOD-NAME ARGUMENTS...'
2943 Format a description for a typed method in object-oriented
2944 programming. Takes as arguments the name of the class of the
2945 method, the return type of the method, the name of the method, and
2946 its arguments, if any. *Note Definition Commands::, and *Note Def
2947 Cmds in Detail: deffnx.
2949 `@deftypevr CLASSIFICATION DATA-TYPE NAME'
2950 `@deftypevrx CLASSIFICATION DATA-TYPE NAME'
2951 Format a description for something like a variable in a typed
2952 language--an entity that records a value. Takes as arguments the
2953 classification of entity being described, the type, and the name
2954 of the entity. *Note Definition Commands::, and *Note Def Cmds in
2957 `@deftypevar DATA-TYPE VARIABLE-NAME'
2958 `@deftypevarx DATA-TYPE VARIABLE-NAME'
2959 Format a description for a variable in a typed language. The
2960 command is equivalent to `@deftypevr Variable ...'. *Note
2961 Definition Commands::, and *Note Def Cmds in Detail: deffnx.
2963 `@defun FUNCTION-NAME ARGUMENTS...'
2964 `@defunx FUNCTION-NAME ARGUMENTS...'
2965 Format a description for functions. The command is equivalent to
2966 `@deffn Function ...'. *Note Definition Commands::, and *Note Def
2967 Cmds in Detail: deffnx.
2969 `@defvar VARIABLE-NAME'
2970 `@defvarx VARIABLE-NAME'
2971 Format a description for variables. The command is equivalent to
2972 `@defvr Variable ...'. *Note Definition Commands::, and *Note Def
2973 Cmds in Detail: deffnx.
2975 `@defvr CATEGORY NAME'
2976 `@defvrx CATEGORY NAME'
2977 Format a description for any kind of variable. `@defvr' takes as
2978 arguments the category of the entity and the name of the entity.
2979 *Note Definition Commands::, and *Note Def Cmds in Detail: deffnx.
2982 Avoid `makeinfo' confusion stemming from the detailed node listing
2983 in a master menu. *Note Master Menu Parts::.
2986 Highlight the introductory or defining use of a term. *Note
2989 `@dircategory DIRPART'
2990 Specify a part of the Info directory menu where this file's entry
2991 should go. *Note Installing Dir Entries::.
2994 Begin the Info directory menu entry for this file. *Note
2995 Installing Dir Entries::.
2998 Begin a kind of example. Indent text, do not fill, do not select a
2999 new font. Pair with `@end display'. *Note `@display': display.
3002 Format a unit of measure, as in 12pt. Causes TeX to insert a thin
3003 space before DIMENSION. No effect in Info. *Note `@dmn': dmn.
3006 Generate a dot accent over the character C, as in oo.. *Note
3007 Inserting Accents::.
3010 Insert an ellipsis: `...'. *Note `@dots{}': dots.
3012 `@email{ADDRESS[, DISPLAYED-TEXT]}'
3013 Indicate an electronic mail address. *Note `@email': email.
3016 Highlight TEXT; text is displayed in _italics_ in printed output,
3017 and surrounded by asterisks in Info. *Note Emphasizing Text:
3021 Ends ENVIRONMENT, as in `@end example'. *Note @-commands:
3022 Formatting Commands.
3025 Generate an end-of-sentence of ellipsis, like this .... *Note
3028 `@enumerate [NUMBER-OR-LETTER]'
3029 Begin a numbered list, using `@item' for each entry. Optionally,
3030 start list with NUMBER-OR-LETTER. Pair with `@end enumerate'.
3031 *Note `@enumerate': enumerate.
3034 Indicate to the reader the exact equivalence of two forms with a
3035 glyph: `=='. *Note Equivalence::.
3038 Indicate to the reader with a glyph that the following text is an
3039 error message: `error-->'. *Note Error Glyph::.
3041 `@evenfooting [LEFT] @| [CENTER] @| [RIGHT]'
3042 `@evenheading [LEFT] @| [CENTER] @| [RIGHT]'
3043 Specify page footings resp. headings for even-numbered (left-hand)
3044 pages. Only allowed inside `@iftex'. *Note How to Make Your Own
3045 Headings: Custom Headings.
3047 `@everyfooting [LEFT] @| [CENTER] @| [RIGHT]'
3048 `@everyheading [LEFT] @| [CENTER] @| [RIGHT]'
3049 Specify page footings resp. headings for every page. Not relevant
3050 to Info. *Note How to Make Your Own Headings: Custom Headings.
3053 Begin an example. Indent text, do not fill, and select
3054 fixed-width font. Pair with `@end example'. *Note `@example':
3058 Produce an upside-down exclamation point. *Note Inserting
3061 `@exdent LINE-OF-TEXT'
3062 Remove any indentation a line might have. *Note Undoing the
3063 Indentation of a Line: exdent.
3066 Indicate the result of a macro expansion to the reader with a
3067 special glyph: `==>'. *Note ==> Indicating an Expansion:
3071 Highlight the name of a file, buffer, node, or directory. *Note
3075 Prevent TeX from printing large black warning rectangles beside
3076 over-wide lines. *Note Overfull hboxes::.
3079 Add ENTRY to the index of functions. *Note Defining the Entries
3080 of an Index: Index Entries.
3084 Left justify every line but leave the right end ragged. Leave
3085 font as is. Pair with `@end flushleft'. `@flushright' analogous.
3086 *Note `@flushleft' and `@flushright': flushleft & flushright.
3088 `@footnote{TEXT-OF-FOOTNOTE}'
3089 Enter a footnote. Footnote text is printed at the bottom of the
3090 page by TeX; Info may format in either `End' node or `Separate'
3091 node style. *Note Footnotes::.
3093 `@footnotestyle STYLE'
3094 Specify an Info file's footnote style, either `end' for the end
3095 node style or `separate' for the separate node style. *Note
3099 Begin a kind of example. Like `@example' or `@display', but do
3100 not narrow the margins and do not select the fixed-width font.
3101 Pair with `@end format'. *Note `@example': example.
3103 `@ftable FORMATTING-COMMAND'
3104 Begin a two-column table, using `@item' for each entry.
3105 Automatically enter each of the items in the first column into the
3106 index of functions. Pair with `@end ftable'. The same as
3107 `@table', except for indexing. *Note `@ftable' and `@vtable':
3111 Hold text together that must appear on one printed page. Pair with
3112 `@end group'. Not relevant to Info. *Note `@group': group.
3115 Generate the long Hungarian umlaut accent over C, as in o''.
3118 Print an unnumbered section-like heading in the text, but not in
3119 the table of contents of a printed manual. In Info, the title is
3120 underlined with equal signs. *Note Section Commands:
3121 unnumberedsec appendixsec heading.
3123 `@headings ON-OFF-SINGLE-DOUBLE'
3124 Turn page headings on or off, and/or specify single-sided or
3125 double-sided page headings for printing. *Note The `@headings'
3126 Command: headings on off.
3129 Enter HTML completely. Pair with `@end html'. *Note Raw
3130 Formatter Commands::.
3132 `@hyphenation{HY-PHEN-A-TED WORDS}'
3133 Explicitly define hyphenation points. *Note `@-' and
3134 `@hyphenation': - and hyphenation.
3137 Print TEXT in italic font. No effect in Info. *Note Fonts::.
3140 If FLAG is cleared, the Texinfo formatting commands format text
3141 between `@ifclear FLAG' and the following `@end ifclear' command.
3142 *Note `@set' `@clear' `@value': set clear value.
3146 Begin a stretch of text that will be ignored by TeX when it
3147 typesets the printed manual. The text appears only in the HTML
3148 resp. Info file. Pair with `@end ifhtml' resp. `@end ifinfo'.
3149 *Note Conditionals::.
3154 Begin a stretch of text that will be ignored in one output format
3155 but not the others. The text appears only in the format not
3156 specified. Pair with `@end ifnothtml' resp. `@end ifnotinfo' resp.
3157 `@end ifnotinfo'. *Note Conditionals::.
3160 If FLAG is set, the Texinfo formatting commands format text
3161 between `@ifset FLAG' and the following `@end ifset' command.
3162 *Note `@set' `@clear' `@value': set clear value.
3165 Begin a stretch of text that will not appear in the Info file, but
3166 will be processed only by TeX. Pair with `@end iftex'. *Note
3167 Conditionally Visible Text: Conditionals.
3170 Begin a stretch of text that will not appear in either the Info
3171 file or the printed output. Pair with `@end ignore'. *Note
3172 Comments and Ignored Text: Comments.
3174 `@image{FILENAME, [WIDTH], [HEIGHT]}'
3175 Include graphics image in external FILENAME scaled to the given
3176 WIDTH and/or HEIGHT. *Note Images::.
3179 Incorporate the contents of the file FILENAME into the Info file
3180 or printed document. *Note Include Files::.
3182 `@inforef{NODE-NAME, [ENTRY-NAME], INFO-FILE-NAME}'
3183 Make a cross reference to an Info file for which there is no
3184 printed manual. *Note Cross references using `@inforef': inforef.
3186 `\input MACRO-DEFINITIONS-FILE'
3187 Use the specified macro definitions file. This command is used
3188 only in the first line of a Texinfo file to cause TeX to make use
3189 of the `texinfo' macro definitions file. The backslash in `\input'
3190 is used instead of an `@' because TeX does not recognize `@' until
3191 after it has read the definitions file. *Note The Texinfo File
3195 Indicate the beginning of a marked paragraph for `@itemize' and
3196 `@enumerate'; indicate the beginning of the text of a first column
3197 entry for `@table', `@ftable', and `@vtable'. *Note Lists and
3200 `@itemize MARK-GENERATING-CHARACTER-OR-COMMAND'
3201 Produce a sequence of indented paragraphs, with a mark inside the
3202 left margin at the beginning of each paragraph. Pair with `@end
3203 itemize'. *Note `@itemize': itemize.
3206 Like `@item' but do not generate extra vertical space above the
3207 item text. *Note `@itemx': itemx.
3209 `@kbd{KEYBOARD-CHARACTERS}'
3210 Indicate text that is characters of input to be typed by users.
3213 `@kbdinputstyle STYLE'
3214 Specify when `@kbd' should use a font distinct from `@code'.
3218 Indicate a name for a key on a keyboard. *Note `@key': key.
3221 Add ENTRY to the index of keys. *Note Defining the Entries of an
3222 Index: Index Entries.
3226 Generate the uppercase and lowercase Polish suppressed-L letters,
3227 respectively: /L, /l.
3230 Begin an example of Lisp code. Indent text, do not fill, and
3231 select fixed-width font. Pair with `@end lisp'. *Note `@lisp':
3235 Change subsequent chapters to sections, sections to subsections,
3236 and so on. *Note `@raisesections' and `@lowersections':
3237 Raise/lower sections.
3239 `@macro MACRO-NAME {PARAMS}'
3240 Define a new Texinfo command `@MACRO-NAME{PARAMS}'. Only
3241 supported by `makeinfo' and `texi2dvi'. *Note Defining Macros::.
3243 `@majorheading TITLE'
3244 Print a chapter-like heading in the text, but not in the table of
3245 contents of a printed manual. Generate more vertical whitespace
3246 before the heading than the `@chapheading' command. In Info, the
3247 chapter heading line is underlined with asterisks. *Note
3248 `@majorheading' and `@chapheading': majorheading & chapheading.
3250 `@math{MATHEMATICAL-EXPRESSION}'
3251 Format a mathematical expression. *Note `@math' - Inserting
3252 Mathematical Expressions: math.
3255 Mark the beginning of a menu of nodes in Info. No effect in a
3256 printed manual. Pair with `@end menu'. *Note Menus::.
3259 Generate a minus sign, `-'. *Note `@minus': minus.
3261 `@multitable COLUMN-WIDTH-SPEC'
3262 Begin a multi-column table. Pair with `@end multitable'. *Note
3263 Multitable Column Widths::.
3266 Start a new page in a printed manual if fewer than N mils
3267 (thousandths of an inch) remain on the current page. *Note
3270 `@node NAME, NEXT, PREVIOUS, UP'
3271 Define the beginning of a new node in Info, and serve as a locator
3272 for references for TeX. *Note `@node': node.
3275 Prevent text from being indented as if it were a new paragraph.
3276 *Note `@noindent': noindent.
3280 Generate the uppercase and lowercase O-with-slash letters,
3281 respectively: /O, /o.
3283 `@oddfooting [LEFT] @| [CENTER] @| [RIGHT]'
3284 `@oddheading [LEFT] @| [CENTER] @| [RIGHT]'
3285 Specify page footings resp. headings for odd-numbered (right-hand)
3286 pages. Only allowed inside `@iftex'. *Note How to Make Your Own
3287 Headings: Custom Headings.
3291 Generate the uppercase and lowercase OE ligatures, respectively:
3292 OE, oe. *Note Inserting Accents::.
3295 Start a new page in a printed manual. No effect in Info. *Note
3298 `@paragraphindent INDENT'
3299 Indent paragraphs by INDENT number of spaces; delete indentation
3300 if the value of INDENT is 0; and do not change indentation if
3301 INDENT is `asis'. *Note Paragraph Indenting: paragraphindent.
3304 Add ENTRY to the index of programs. *Note Defining the Entries of
3305 an Index: Index Entries.
3308 Indicate the position of point in a buffer to the reader with a
3309 glyph: `-!-'. *Note Indicating Point in a Buffer: Point Glyph.
3312 Generate the pounds sterling currency sign. *Note `@pounds{}':
3316 Indicate printed output to the reader with a glyph: `-|'. *Note
3319 `@printindex INDEX-NAME'
3320 Print an alphabetized two-column index in a printed manual or
3321 generate an alphabetized menu of index entries for Info. *Note
3322 Printing Indices & Menus::.
3324 `@pxref{NODE-NAME, [ENTRY], [TOPIC-OR-TITLE], [INFO-FILE], [MANUAL]}'
3325 Make a reference that starts with a lower case `see' in a printed
3326 manual. Use within parentheses only. Do not follow command with a
3327 punctuation mark--the Info formatting commands automatically insert
3328 terminating punctuation as needed. Only the first argument is
3329 mandatory. *Note `@pxref': pxref.
3332 Generate an upside-down question mark. *Note Inserting Accents::.
3335 Narrow the margins to indicate text that is quoted from another
3336 real or imaginary work. Write command on a line of its own. Pair
3337 with `@end quotation'. *Note `@quotation': quotation.
3340 Print TEXT in roman font. No effect in Info. *Note Fonts::.
3343 Change subsequent sections to chapters, subsections to sections,
3344 and so on. *Note `@raisesections' and `@lowersections':
3345 Raise/lower sections.
3347 `@ref{NODE-NAME, [ENTRY], [TOPIC-OR-TITLE], [INFO-FILE], [MANUAL]}'
3348 Make a reference. In a printed manual, the reference does not
3349 start with a `See'. Follow command with a punctuation mark. Only
3350 the first argument is mandatory. *Note `@ref': ref.
3353 In Info, refill and indent the paragraph after all the other
3354 processing has been done. No effect on TeX, which always refills.
3355 This command is no longer needed, since all formatters now
3356 automatically refill. *Note Refilling Paragraphs::.
3359 Indicate the result of an expression to the reader with a special
3360 glyph: `=>'. *Note `@result': result.
3363 Generate a ring accent over the next character, as in o*. *Note
3364 Inserting Accents::.
3367 Highlight TEXT that is a literal example of a sequence of
3368 characters. Used for single characters, for statements, and often
3369 for entire shell commands. *Note `@samp': samp.
3372 Set TEXT in a printed output in THE SMALL CAPS FONT and set text
3373 in the Info file in uppercase letters. *Note Smallcaps::.
3376 Begin a section within a chapter. In a printed manual, the section
3377 title is numbered and appears in the table of contents. In Info,
3378 the title is underlined with equal signs. *Note `@section':
3381 `@set FLAG [STRING]'
3382 Make FLAG active, causing the Texinfo formatting commands to
3383 format text between subsequent pairs of `@ifset FLAG' and `@end
3384 ifset' commands. Optionally, set value of FLAG to STRING. *Note
3385 `@set' `@clear' `@value': set clear value.
3387 `@setchapternewpage ON-OFF-ODD'
3388 Specify whether chapters start on new pages, and if so, whether on
3389 odd-numbered (right-hand) new pages. *Note `@setchapternewpage':
3392 `@setfilename INFO-FILE-NAME'
3393 Provide a name to be used by the Info file. This command is
3394 essential for TeX formatting as well, even though it produces no
3395 output. *Note `@setfilename': setfilename.
3398 Provide a title for page headers in a printed manual. *Note
3399 `@settitle': settitle.
3402 Print a short table of contents. Not relevant to Info, which uses
3403 menus rather than tables of contents. A synonym for
3404 `@summarycontents'. *Note Generating a Table of Contents:
3407 `@shorttitlepage{TITLE}'
3408 Generate a minimal title page. *Note `@titlepage': titlepage.
3411 Cause TeX to produce a printed manual in a 7 by 9.25 inch format
3412 rather than the regular 8.5 by 11 inch format. *Note Printing
3413 Small Books: smallbook. Also, see *Note `@smallexample' and
3414 `@smalllisp': smallexample & smalllisp.
3417 Indent text to indicate an example. Do not fill, select
3418 fixed-width font. In `@smallbook' format, print text in a smaller
3419 font than with `@example'. Pair with `@end smallexample'. *Note
3420 `@smallexample' and `@smalllisp': smallexample & smalllisp.
3423 Begin an example of Lisp code. Indent text, do not fill, select
3424 fixed-width font. In `@smallbook' format, print text in a smaller
3425 font. Pair with `@end smalllisp'. *Note `@smallexample' and
3426 `@smalllisp': smallexample & smalllisp.
3429 Skip N blank lines. *Note `@sp': sp.
3432 Generate the German sharp-S es-zet letter, ss. *Note Inserting
3436 Emphasize TEXT by typesetting it in a *bold* font for the printed
3437 manual and by surrounding it with asterisks for Info. *Note
3438 Emphasizing Text: emph & strong.
3441 Print an unnumbered subsection-like heading in the text, but not in
3442 the table of contents of a printed manual. In Info, the title is
3443 underlined with hyphens. *Note `@unnumberedsubsec'
3444 `@appendixsubsec' `@subheading': unnumberedsubsec appendixsubsec
3448 Begin a subsection within a section. In a printed manual, the
3449 subsection title is numbered and appears in the table of contents.
3450 In Info, the title is underlined with hyphens. *Note
3451 `@subsection': subsection.
3453 `@subsubheading TITLE'
3454 Print an unnumbered subsubsection-like heading in the text, but
3455 not in the table of contents of a printed manual. In Info, the
3456 title is underlined with periods. *Note The `subsub' Commands:
3459 `@subsubsection TITLE'
3460 Begin a subsubsection within a subsection. In a printed manual,
3461 the subsubsection title is numbered and appears in the table of
3462 contents. In Info, the title is underlined with periods. *Note
3463 The `subsub' Commands: subsubsection.
3466 In a printed manual, set a subtitle in a normal sized font flush to
3467 the right-hand side of the page. Not relevant to Info, which does
3468 not have title pages. *Note `@title' `@subtitle' and `@author'
3469 Commands: title subtitle author.
3472 Print a short table of contents. Not relevant to Info, which uses
3473 menus rather than tables of contents. A synonym for
3474 `@shortcontents'. *Note Generating a Table of Contents: Contents.
3476 `@syncodeindex FROM-INDEX INTO-INDEX'
3477 Merge the index named in the first argument into the index named in
3478 the second argument, printing the entries from the first index in
3479 `@code' font. *Note Combining Indices::.
3481 `@synindex FROM-INDEX INTO-INDEX'
3482 Merge the index named in the first argument into the index named in
3483 the second argument. Do not change the font of FROM-INDEX
3484 entries. *Note Combining Indices::.
3487 Print TEXT in a fixed-width, typewriter-like font. No effect in
3488 Info. *Note Fonts::.
3491 Separate columns in a multitable. *Note Multitable Rows::.
3493 `@table FORMATTING-COMMAND'
3494 Begin a two-column table, using `@item' for each entry. Write
3495 each first column entry on the same line as `@item'. First column
3496 entries are printed in the font resulting from FORMATTING-COMMAND.
3497 Pair with `@end table'. *Note Making a Two-column Table:
3498 Two-column Tables. Also see *Note `@ftable' and `@vtable': ftable
3499 vtable, and *Note `@itemx': itemx.
3502 Insert the logo TeX. *Note Inserting TeX and (C): TeX and
3506 Enter TeX completely. Pair with `@end tex'. *Note Raw Formatter
3514 Only allowed in a heading or footing. Stands for the number and
3515 name of the current chapter (in the format `Chapter 1: Title'),
3516 the chapter name only, the filename, the current page number, and
3517 the title of the document, respectively. *Note How to Make Your
3518 Own Headings: Custom Headings.
3521 Generate a tie-after accent over the next two characters CC, as in
3522 `oo['. *Note Inserting Accents::.
3525 Add ENTRY to the index of data types. *Note Defining the Entries
3526 of an Index: Index Entries.
3529 In a printed manual, set a title flush to the left-hand side of the
3530 page in a larger than normal font and underline it with a black
3531 rule. Not relevant to Info, which does not have title pages.
3532 *Note The `@title' `@subtitle' and `@author' Commands: title
3536 In a printed manual, print TEXT in a larger than normal font. Not
3537 relevant to Info, which does not have title pages. *Note The
3538 `@titlefont' `@center' and `@sp' Commands: titlefont center sp.
3541 Indicate to Texinfo the beginning of the title page. Write
3542 command on a line of its own. Pair with `@end titlepage'.
3543 Nothing between `@titlepage' and `@end titlepage' appears in Info.
3544 *Note `@titlepage': titlepage.
3547 Insert the current date, in `1 Jan 1900' style. *Note How to Make
3548 Your Own Headings: Custom Headings.
3551 In a Texinfo file to be formatted with `makeinfo', identify the
3552 topmost `@node' line in the file, which must be written on the line
3553 immediately preceding the `@top' command. Used for `makeinfo''s
3554 node pointer insertion feature. The title is underlined with
3555 asterisks. Both the `@node' line and the `@top' line normally
3556 should be enclosed by `@ifinfo' and `@end ifinfo'. In TeX and
3557 `texinfo-format-buffer', the `@top' command is merely a synonym
3558 for `@unnumbered'. *Note Creating Pointers with `makeinfo':
3559 makeinfo Pointer Creation.
3564 Generate a breve, underbar, or underdot accent, respectively, over
3565 or under the character C, as in o(, o_, .o. *Note Inserting
3569 In a printed manual, begin a chapter that appears without chapter
3570 numbers of any kind. The title appears in the table of contents
3571 of a printed manual. In Info, the title is underlined with
3572 asterisks. *Note `@unnumbered' and `@appendix': unnumbered &
3575 `@unnumberedsec TITLE'
3576 In a printed manual, begin a section that appears without section
3577 numbers of any kind. The title appears in the table of contents
3578 of a printed manual. In Info, the title is underlined with equal
3579 signs. *Note Section Commands: unnumberedsec appendixsec heading.
3581 `@unnumberedsubsec TITLE'
3582 In a printed manual, begin an unnumbered subsection within a
3583 chapter. The title appears in the table of contents of a printed
3584 manual. In Info, the title is underlined with hyphens. *Note
3585 `@unnumberedsubsec' `@appendixsubsec' `@subheading':
3586 unnumberedsubsec appendixsubsec subheading.
3588 `@unnumberedsubsubsec TITLE'
3589 In a printed manual, begin an unnumbered subsubsection within a
3590 chapter. The title appears in the table of contents of a printed
3591 manual. In Info, the title is underlined with periods. *Note The
3592 `subsub' Commands: subsubsection.
3594 `@uref{URL[, DISPLAYED-TEXT}'
3595 Define a cross reference to an external uniform resource locator
3596 for the World Wide Web. *Note `@url': url.
3599 Indicate text that is a uniform resource locator for the World Wide
3600 Web. *Note `@url': url.
3603 Generate check accent over the character C, as in o<. *Note
3604 Inserting Accents::.
3607 Replace FLAG with the value to which it is set by `@set FLAG'.
3608 *Note `@set' `@clear' `@value': set clear value.
3610 `@var{METASYNTACTIC-VARIABLE}'
3611 Highlight a metasyntactic variable, which is something that stands
3612 for another piece of text. *Note Indicating Metasyntactic
3616 Add ENTRY to the index of variables. *Note Defining the Entries
3617 of an Index: Index Entries.
3620 In a printed manual, insert whitespace so as to push text on the
3621 remainder of the page towards the bottom of the page. Used in
3622 formatting the copyright page with the argument `0pt plus 1filll'.
3623 (Note spelling of `filll'.) `@vskip' may be used only in
3624 contexts ignored for Info. *Note The Copyright Page and Printed
3625 Permissions: Copyright & Permissions.
3627 `@vtable FORMATTING-COMMAND'
3628 Begin a two-column table, using `@item' for each entry.
3629 Automatically enter each of the items in the first column into the
3630 index of variables. Pair with `@end vtable'. The same as
3631 `@table', except for indexing. *Note `@ftable' and `@vtable':
3635 Prevent TEXT from being split across two lines. Do not end a
3636 paragraph that uses `@w' with an `@refill' command. *Note `@w': w.
3638 `@xref{NODE-NAME, [ENTRY], [TOPIC-OR-TITLE], [INFO-FILE], [MANUAL]}'
3639 Make a reference that starts with `See' in a printed manual.
3640 Follow command with a punctuation mark. Only the first argument is
3641 mandatory. *Note `@xref': xref.
3644 File: texinfo.info, Node: Tips, Next: Sample Texinfo File, Prev: Command List, Up: Top
3646 Appendix B Tips and Hints
3647 *************************
3649 Here are some tips for writing Texinfo documentation:
3651 * Write in the present tense, not in the past or the future.
3653 * Write actively! For example, write "We recommend that ..." rather
3654 than "It is recommended that ...".
3656 * Use 70 or 72 as your fill column. Longer lines are hard to read.
3658 * Include a copyright notice and copying permissions.
3660 Index, Index, Index!
3661 ....................
3663 Write many index entries, in different ways. Readers like indices;
3664 they are helpful and convenient.
3666 Although it is easiest to write index entries as you write the body of
3667 the text, some people prefer to write entries afterwards. In either
3668 case, write an entry before the paragraph to which it applies. This
3669 way, an index entry points to the first page of a paragraph that is
3672 Here are more hints we have found valuable:
3674 * Write each index entry differently, so each entry refers to a
3675 different place in the document.
3677 * Write index entries only where a topic is discussed significantly.
3678 For example, it is not useful to index "debugging information" in
3679 a chapter on reporting bugs. Someone who wants to know about
3680 debugging information will certainly not find it in that chapter.
3682 * Consistently capitalize the first word of every concept index
3683 entry, or else consistently use lower case. Terse entries often
3684 call for lower case; longer entries for capitalization. Whichever
3685 case convention you use, please use one or the other consistently!
3686 Mixing the two styles looks bad.
3688 * Always capitalize or use upper case for those words in an index for
3689 which this is proper, such as names of countries or acronyms.
3690 Always use the appropriate case for case-sensitive names, such as
3693 * Write the indexing commands that refer to a whole section
3694 immediately after the section command, and write the indexing
3695 commands that refer to the paragraph before the paragraph.
3697 In the example that follows, a blank line comes after the index
3698 entry for "Leaping":
3700 @section The Dog and the Fox
3701 @cindex Jumping, in general
3704 @cindex Dog, lazy, jumped over
3705 @cindex Lazy dog jumped over
3706 @cindex Fox, jumps over dog
3707 @cindex Quick fox jumps over dog
3708 The quick brown fox jumps over the lazy dog.
3710 (Note that the example shows entries for the same concept that are
3711 written in different ways--`Lazy dog', and `Dog, lazy'--so readers
3712 can look up the concept in different ways.)
3717 * Insert a blank line between a sectioning command and the first
3718 following sentence or paragraph, or between the indexing commands
3719 associated with the sectioning command and the first following
3720 sentence or paragraph, as shown in the tip on indexing.
3721 Otherwise, a formatter may fold title and paragraph together.
3723 * Always insert a blank line before an `@table' command and after an
3724 `@end table' command; but never insert a blank line after an
3725 `@table' command or before an `@end table' command.
3733 Jump over lazy dogs.
3736 Also jump over lazy dogs.
3739 On the other hand, ...
3741 Insert blank lines before and after `@itemize' ... `@end itemize'
3742 and `@enumerate' ... `@end enumerate' in the same way.
3747 Complete phrases are easier to read than ...
3749 * Write entries in an itemized list as complete sentences; or at
3750 least, as complete phrases. Incomplete expressions ... awkward
3753 * Write the prefatory sentence or phrase for a multi-item list or
3754 table as a complete expression. Do not write "You can set:";
3755 instead, write "You can set these variables:". The former
3756 expression sounds cut off.
3758 Editions, Dates and Versions
3759 ............................
3761 Write the edition and version numbers and date in three places in every
3764 1. In the first `@ifinfo' section, for people reading the Texinfo
3767 2. In the `@titlepage' section, for people reading the printed manual.
3769 3. In the `Top' node, for people reading the Info file.
3771 Also, it helps to write a note before the first `@ifinfo' section to
3772 explain what you are doing.
3777 @c Specify the edition and version numbers and date
3778 @c in *three* places:
3779 @c 1. First ifinfo section 2. title page 3. top node
3780 @c To find the locations, search for !!set
3783 @c !!set edition, date, version
3784 This is Edition 4.03, January 1992,
3785 of the @cite{GDB Manual} for GDB Version 4.3.
3788 --or use `@set' and `@value' (*note `@value' Example: value Example.).
3793 Definition commands are `@deffn', `@defun', `@defmac', and the like,
3794 and enable you to write descriptions in a uniform format.
3796 * Write just one definition command for each entity you define with a
3797 definition command. The automatic indexing feature creates an
3798 index entry that leads the reader to the definition.
3800 * Use `@table' ... `@end table' in an appendix that contains a
3801 summary of functions, not `@deffn' or other definition commands.
3806 * Capitalize "Texinfo"; it is a name. Do not write the `x' or `i'
3809 * Capitalize "Info"; it is a name.
3811 * Write TeX using the `@TeX{}' command. Note the uppercase `T' and
3812 `X'. This command causes the formatters to typeset the name
3813 according to the wishes of Donald Knuth, who wrote TeX.
3818 Do not use spaces to format a Texinfo file, except inside of `@example'
3819 ... `@end example' and similar commands.
3821 For example, TeX fills the following:
3824 @kbd{M-x vc-next-action}
3825 Perform the next logical operation
3826 on the version-controlled file
3827 corresponding to the current buffer.
3829 so it looks like this:
3831 `C-x v' `M-x vc-next-action' Perform the next logical operation on
3832 the version-controlled file corresponding to the current buffer.
3834 In this case, the text should be formatted with `@table', `@item', and
3835 `@itemx', to create a table.
3837 @code, @samp, @var, and `---'
3838 .............................
3840 * Use `@code' around Lisp symbols, including command names. For
3843 The main function is @code{vc-next-action}, ...
3845 * Avoid putting letters such as `s' immediately after an `@code'.
3846 Such letters look bad.
3848 * Use `@var' around meta-variables. Do not write angle brackets
3851 * Use three hyphens in a row, `---', to indicate a long dash. TeX
3852 typesets these as a long dash and the Info formatters reduce three
3855 Periods Outside of Quotes
3856 .........................
3858 Place periods and other punctuation marks _outside_ of quotations,
3859 unless the punctuation is part of the quotation. This practice goes
3860 against publishing conventions in the United States, but enables the
3861 reader to distinguish between the contents of the quotation and the
3864 For example, you should write the following sentence with the period
3865 outside the end quotation marks:
3867 Evidently, `au' is an abbreviation for ``author''.
3869 since `au' does _not_ serve as an abbreviation for `author.' (with a
3870 period following the word).
3872 Introducing New Terms
3873 .....................
3875 * Introduce new terms so that a reader who does not know them can
3876 understand them from context; or write a definition for the term.
3878 For example, in the following, the terms "check in", "register" and
3879 "delta" are all appearing for the first time; the example sentence
3880 should be rewritten so they are understandable.
3882 The major function assists you in checking in a file to your
3883 version control system and registering successive sets of
3884 changes to it as deltas.
3886 * Use the `@dfn' command around a word being introduced, to indicate
3887 that the reader should not expect to know the meaning already, and
3888 should expect to learn the meaning from this passage.
3893 Absolutely never use `@pxref' except in the special context for which
3894 it is designed: inside parentheses, with the closing parenthesis
3895 following immediately after the closing brace. One formatter
3896 automatically inserts closing punctuation and the other does not. This
3897 means that the output looks right both in printed output and in an Info
3898 file, but only when the command is used inside parentheses.
3900 Invoking from a Shell
3901 .....................
3903 You can invoke programs such as Emacs, GCC, and `gawk' from a shell.
3904 The documentation for each program should contain a section that
3905 describes this. Unfortunately, if the node names and titles for these
3906 sections are all different, readers find it hard to search for the
3909 Name such sections with a phrase beginning with the word
3910 `Invoking ...', as in `Invoking Emacs'; this way users can find the
3916 When you use `@example' to describe a C function's calling conventions,
3917 use the ANSI C syntax, like this:
3919 void dld_init (char *@var{path});
3921 And in the subsequent discussion, refer to the argument values by
3922 writing the same argument names, again highlighted with `@var'.
3924 Avoid the obsolete style that looks like this:
3931 Also, it is best to avoid writing `#include' above the declaration
3932 just to indicate that the function is declared in a header file. The
3933 practice may give the misimpression that the `#include' belongs near
3934 the declaration of the function. Either state explicitly which header
3935 file holds the declaration or, better yet, name the header file used
3936 for a group of functions at the beginning of the section that describes
3942 Here are several examples of bad writing to avoid:
3944 In this example, say, " ... you must `@dfn'{check in} the new
3945 version." That flows better.
3947 When you are done editing the file, you must perform a
3950 In the following example, say, "... makes a unified interface such as
3953 SCCS, RCS and other version-control systems all perform similar
3954 functions in broadly similar ways (it is this resemblance which
3955 makes a unified control mode like this possible).
3957 And in this example, you should specify what `it' refers to:
3959 If you are working with other people, it assists in coordinating
3960 everyone's changes so they do not step on each other.
3965 * Pronounce TeX as if the `X' were a Greek `chi', as the last sound
3966 in the name `Bach'. But pronounce Texinfo as in `speck':
3969 * Write notes for yourself at the very end of a Texinfo file after
3970 the `@bye'. None of the formatters process text after the `@bye';
3971 it is as if the text were within `@ignore' ... `@end ignore'.
3974 File: texinfo.info, Node: Sample Texinfo File, Next: Sample Permissions, Prev: Tips, Up: Top
3976 Appendix C A Sample Texinfo File
3977 ********************************
3979 Here is a complete, short sample Texinfo file, without any commentary.
3980 You can see this file, with comments, in the first chapter. *Note A
3981 Short Sample Texinfo File: Short Sample.
3984 \input texinfo @c -*-texinfo-*-
3985 @c %**start of header
3986 @setfilename sample.info
3987 @settitle Sample Document
3990 @setchapternewpage odd
3993 This is a short example of a complete Texinfo file.
3995 Copyright 1990 Free Software Foundation, Inc.
4000 @comment The title is printed in a large font.
4001 @center @titlefont{Sample Title}
4003 @c The following two commands start the copyright page.
4005 @vskip 0pt plus 1filll
4006 Copyright @copyright{} 1990 Free Software Foundation, Inc.
4009 @node Top, First Chapter, , (dir)
4010 @comment node-name, next, previous, up
4013 * First Chapter:: The first chapter is the
4014 only chapter in this sample.
4015 * Concept Index:: This index has two entries.
4018 @node First Chapter, Concept Index, Top, Top
4019 @comment node-name, next, previous, up
4020 @chapter First Chapter
4021 @cindex Sample index entry
4023 This is the contents of the first chapter.
4024 @cindex Another sample index entry
4026 Here is a numbered list.
4030 This is the first item.
4033 This is the second item.
4036 The @code{makeinfo} and @code{texinfo-format-buffer}
4037 commands transform a Texinfo file such as this into
4038 an Info file; and @TeX{} typesets it for a printed
4041 @node Concept Index, , First Chapter, Top
4042 @comment node-name, next, previous, up
4043 @unnumbered Concept Index
4051 File: texinfo.info, Node: Sample Permissions, Next: Include Files, Prev: Sample Texinfo File, Up: Top
4053 Appendix D Sample Permissions
4054 *****************************
4056 Texinfo files should contain sections that tell the readers that they
4057 have the right to copy and distribute the Texinfo file, the Info file,
4058 and the printed manual.
4060 Also, if you are writing a manual about software, you should explain
4061 that the software is free and either include the GNU General Public
4062 License (GPL) or provide a reference to it. *Note Distribution:
4063 (xemacs)Distrib, for an example of the text that could be used in the
4064 software "Distribution", "General Public License", and "NO WARRANTY"
4065 sections of a document. *Note Texinfo Copying Conditions: Copying, for
4066 an example of a brief explanation of how the copying conditions provide
4071 * Inserting Permissions:: How to put permissions in your document.
4072 * ifinfo Permissions:: Sample `ifinfo' copying permissions.
4073 * Titlepage Permissions:: Sample Titlepage copying permissions.
4076 File: texinfo.info, Node: Inserting Permissions, Next: ifinfo Permissions, Prev: Sample Permissions, Up: Sample Permissions
4078 D.1 Inserting Permissions
4079 =========================
4081 In a Texinfo file, the first `@ifinfo' section usually begins with a
4082 line that says what the file documents. This is what a person reading
4083 the unprocessed Texinfo file or using the advanced Info command `g *'
4084 sees first. *note Advanced Info commands: (info)Expert, for more
4085 information. (A reader using the regular Info commands usually starts
4086 reading at the first node and skips this first section, which is not in
4089 In the `@ifinfo' section, the summary sentence is followed by a
4090 copyright notice and then by the copying permission notice. One of the
4091 copying permission paragraphs is enclosed in `@ignore' and `@end
4092 ignore' commands. This paragraph states that the Texinfo file can be
4093 processed through TeX and printed, provided the printed manual carries
4094 the proper copying permission notice. This paragraph is not made part
4095 of the Info file since it is not relevant to the Info file; but it is a
4096 mandatory part of the Texinfo file since it permits people to process
4097 the Texinfo file in TeX and print the results.
4099 In the printed manual, the Free Software Foundation copying permission
4100 notice follows the copyright notice and publishing information and is
4101 located within the region delineated by the `@titlepage' and `@end
4102 titlepage' commands. The copying permission notice is exactly the same
4103 as the notice in the `@ifinfo' section except that the paragraph
4104 enclosed in `@ignore' and `@end ignore' commands is not part of the
4107 To make it simple to insert a permission notice into each section of
4108 the Texinfo file, sample permission notices for each section are
4109 reproduced in full below.
4111 Note that you may need to specify the correct name of a section
4112 mentioned in the permission notice. For example, in `The GDB Manual',
4113 the name of the section referring to the General Public License is
4114 called the "GDB General Public License", but in the sample shown below,
4115 that section is referred to generically as the "GNU General Public
4116 License". If the Texinfo file does not carry a copy of the General
4117 Public License, leave out the reference to it, but be sure to include
4118 the rest of the sentence.
4121 File: texinfo.info, Node: ifinfo Permissions, Next: Titlepage Permissions, Prev: Inserting Permissions, Up: Sample Permissions
4123 D.2 `ifinfo' Copying Permissions
4124 ================================
4126 In the `@ifinfo' section of a Texinfo file, the standard Free Software
4127 Foundation permission notice reads as follows:
4129 This file documents ...
4131 Copyright 1998 Free Software Foundation, Inc.
4133 Permission is granted to make and distribute verbatim
4134 copies of this manual provided the copyright notice and
4135 this permission notice are preserved on all copies.
4138 Permission is granted to process this file through TeX
4139 and print the results, provided the printed document
4140 carries a copying permission notice identical to this
4141 one except for the removal of this paragraph (this
4142 paragraph not being relevant to the printed manual).
4145 Permission is granted to copy and distribute modified
4146 versions of this manual under the conditions for
4147 verbatim copying, provided also that the sections
4148 entitled ``Copying'' and ``GNU General Public License''
4149 are included exactly as in the original, and provided
4150 that the entire resulting derived work is distributed
4151 under the terms of a permission notice identical to this
4154 Permission is granted to copy and distribute
4155 translations of this manual into another language,
4156 under the above conditions for modified versions,
4157 except that this permission notice may be stated in a
4158 translation approved by the Free Software Foundation.
4161 File: texinfo.info, Node: Titlepage Permissions, Prev: ifinfo Permissions, Up: Sample Permissions
4163 D.3 Titlepage Copying Permissions
4164 =================================
4166 In the `@titlepage' section of a Texinfo file, the standard Free
4167 Software Foundation copying permission notice follows the copyright
4168 notice and publishing information. The standard phrasing is as follows:
4170 Permission is granted to make and distribute verbatim
4171 copies of this manual provided the copyright notice and
4172 this permission notice are preserved on all copies.
4174 Permission is granted to copy and distribute modified
4175 versions of this manual under the conditions for
4176 verbatim copying, provided also that the sections
4177 entitled ``Copying'' and ``GNU General Public License''
4178 are included exactly as in the original, and provided
4179 that the entire resulting derived work is distributed
4180 under the terms of a permission notice identical to this
4183 Permission is granted to copy and distribute
4184 translations of this manual into another language,
4185 under the above conditions for modified versions,
4186 except that this permission notice may be stated in a
4187 translation approved by the Free Software Foundation.
4190 File: texinfo.info, Node: Include Files, Next: Headings, Prev: Sample Permissions, Up: Top
4192 Appendix E Include Files
4193 ************************
4195 When TeX or an Info formatting command sees an `@include' command in a
4196 Texinfo file, it processes the contents of the file named by the
4197 command and incorporates them into the DVI or Info file being created.
4198 Index entries from the included file are incorporated into the indices
4201 Include files let you keep a single large document as a collection of
4202 conveniently small parts.
4206 * Using Include Files:: How to use the `@include' command.
4207 * texinfo-multiple-files-update:: How to create and update nodes and
4208 menus when using included files.
4209 * Include File Requirements:: What `texinfo-multiple-files-update' expects.
4210 * Sample Include File:: A sample outer file with included files
4211 within it; and a sample included file.
4212 * Include Files Evolution:: How use of the `@include' command
4213 has changed over time.
4216 File: texinfo.info, Node: Using Include Files, Next: texinfo-multiple-files-update, Prev: Include Files, Up: Include Files
4218 E.1 How to Use Include Files
4219 ============================
4221 To include another file within a Texinfo file, write the `@include'
4222 command at the beginning of a line and follow it on the same line by
4223 the name of a file to be included. For example:
4225 @include buffers.texi
4227 An included file should simply be a segment of text that you expect to
4228 be included as is into the overall or "outer" Texinfo file; it should
4229 not contain the standard beginning and end parts of a Texinfo file. In
4230 particular, you should not start an included file with a line saying
4231 `\input texinfo'; if you do, that phrase is inserted into the output
4232 file as is. Likewise, you should not end an included file with an
4233 `@bye' command; nothing after `@bye' is formatted.
4235 In the past, you were required to write an `@setfilename' line at the
4236 beginning of an included file, but no longer. Now, it does not matter
4237 whether you write such a line. If an `@setfilename' line exists in an
4238 included file, it is ignored.
4240 Conventionally, an included file begins with an `@node' line that is
4241 followed by an `@chapter' line. Each included file is one chapter.
4242 This makes it easy to use the regular node and menu creating and
4243 updating commands to create the node pointers and menus within the
4244 included file. However, the simple Emacs node and menu creating and
4245 updating commands do not work with multiple Texinfo files. Thus you
4246 cannot use these commands to fill in the `Next', `Previous', and `Up'
4247 pointers of the `@node' line that begins the included file. Also, you
4248 cannot use the regular commands to create a master menu for the whole
4249 file. Either you must insert the menus and the `Next', `Previous', and
4250 `Up' pointers by hand, or you must use the GNU Emacs Texinfo mode
4251 command, `texinfo-multiple-files-update', that is designed for
4255 File: texinfo.info, Node: texinfo-multiple-files-update, Next: Include File Requirements, Prev: Using Include Files, Up: Include Files
4257 E.2 `texinfo-multiple-files-update'
4258 ===================================
4260 GNU Emacs Texinfo mode provides the `texinfo-multiple-files-update'
4261 command. This command creates or updates `Next', `Previous', and `Up'
4262 pointers of included files as well as those in the outer or overall
4263 Texinfo file, and it creates or updates a main menu in the outer file.
4264 Depending whether you call it with optional arguments, the command
4265 updates only the pointers in the first `@node' line of the included
4266 files or all of them:
4268 `M-x texinfo-multiple-files-update'
4269 Called without any arguments:
4271 - Create or update the `Next', `Previous', and `Up' pointers of
4272 the first `@node' line in each file included in an outer or
4273 overall Texinfo file.
4275 - Create or update the `Top' level node pointers of the outer or
4278 - Create or update a main menu in the outer file.
4280 `C-u M-x texinfo-multiple-files-update'
4281 Called with `C-u' as a prefix argument:
4283 - Create or update pointers in the first `@node' line in each
4286 - Create or update the `Top' level node pointers of the outer
4289 - Create and insert a master menu in the outer file. The
4290 master menu is made from all the menus in all the included
4293 `C-u 8 M-x texinfo-multiple-files-update'
4294 Called with a numeric prefix argument, such as `C-u 8':
4296 - Create or update *all* the `Next', `Previous', and `Up'
4297 pointers of all the included files.
4299 - Create or update *all* the menus of all the included files.
4301 - Create or update the `Top' level node pointers of the outer or
4304 - And then create a master menu in the outer file. This is
4305 similar to invoking `texinfo-master-menu' with an argument
4306 when you are working with just one file.
4308 Note the use of the prefix argument in interactive use: with a regular
4309 prefix argument, just `C-u', the `texinfo-multiple-files-update'
4310 command inserts a master menu; with a numeric prefix argument, such as
4311 `C-u 8', the command updates *every* pointer and menu in *all* the
4312 files and then inserts a master menu.
4315 File: texinfo.info, Node: Include File Requirements, Next: Sample Include File, Prev: texinfo-multiple-files-update, Up: Include Files
4317 E.3 Include File Requirements
4318 =============================
4320 If you plan to use the `texinfo-multiple-files-update' command, the
4321 outer Texinfo file that lists included files within it should contain
4322 nothing but the beginning and end parts of a Texinfo file, and a number
4323 of `@include' commands listing the included files. It should not even
4324 include indices, which should be listed in an included file of their
4327 Moreover, each of the included files must contain exactly one highest
4328 level node (conventionally, `@chapter' or equivalent), and this node
4329 must be the first node in the included file. Furthermore, each of
4330 these highest level nodes in each included file must be at the same
4331 hierarchical level in the file structure. Usually, each is an
4332 `@chapter', an `@appendix', or an `@unnumbered' node. Thus, normally,
4333 each included file contains one, and only one, chapter or
4334 equivalent-level node.
4336 The outer file should contain only _one_ node, the `Top' node. It
4337 should _not_ contain any nodes besides the single `Top' node. The
4338 `texinfo-multiple-files-update' command will not process them.
4341 File: texinfo.info, Node: Sample Include File, Next: Include Files Evolution, Prev: Include File Requirements, Up: Include Files
4343 E.4 Sample File with `@include'
4344 ===============================
4346 Here is an example of a complete outer Texinfo file with `@include'
4347 files within it before running `texinfo-multiple-files-update', which
4348 would insert a main or master menu:
4350 \input texinfo @c -*-texinfo-*-
4351 @setfilename include-example.info
4352 @settitle Include Example
4354 @setchapternewpage odd
4357 @center @titlefont{Include Example}
4359 @center by Whom Ever
4362 @vskip 0pt plus 1filll
4363 Copyright @copyright{} 1998 Free Software Foundation, Inc.
4367 @node Top, First, , (dir)
4371 @include foo.texinfo
4372 @include bar.texinfo
4373 @include concept-index.texinfo
4380 An included file, such as `foo.texinfo', might look like this:
4382 @node First, Second, , Top
4383 @chapter First Chapter
4385 Contents of first chapter ...
4387 The full contents of `concept-index.texinfo' might be as simple as
4390 @node Concept Index, , Second, Top
4391 @unnumbered Concept Index
4395 The outer Texinfo source file for `The XEmacs Lisp Reference Manual'
4396 is named `elisp.texi'. This outer file contains a master menu with 417
4397 entries and a list of 41 `@include' files.
4400 File: texinfo.info, Node: Include Files Evolution, Prev: Sample Include File, Up: Include Files
4402 E.5 Evolution of Include Files
4403 ==============================
4405 When Info was first created, it was customary to create many small Info
4406 files on one subject. Each Info file was formatted from its own
4407 Texinfo source file. This custom meant that Emacs did not need to make
4408 a large buffer to hold the whole of a large Info file when someone
4409 wanted information; instead, Emacs allocated just enough memory for the
4410 small Info file that contained the particular information sought. This
4411 way, Emacs could avoid wasting memory.
4413 References from one file to another were made by referring to the file
4414 name as well as the node name. (*Note Referring to Other Info Files:
4415 Other Info Files. Also, see *Note `@xref' with Four and Five
4416 Arguments: Four and Five Arguments.)
4418 Include files were designed primarily as a way to create a single,
4419 large printed manual out of several smaller Info files. In a printed
4420 manual, all the references were within the same document, so TeX could
4421 automatically determine the references' page numbers. The Info
4422 formatting commands used include files only for creating joint indices;
4423 each of the individual Texinfo files had to be formatted for Info
4424 individually. (Each, therefore, required its own `@setfilename' line.)
4426 However, because large Info files are now split automatically, it is
4427 no longer necessary to keep them small.
4429 Nowadays, multiple Texinfo files are used mostly for large documents,
4430 such as `The XEmacs Lisp Reference Manual', and for projects in which
4431 several different people write different sections of a document
4434 In addition, the Info formatting commands have been extended to work
4435 with the `@include' command so as to create a single large Info file
4436 that is split into smaller files if necessary. This means that you can
4437 write menus and cross references without naming the different Texinfo
4441 File: texinfo.info, Node: Headings, Next: Catching Mistakes, Prev: Include Files, Up: Top
4443 Appendix F Page Headings
4444 ************************
4446 Most printed manuals contain headings along the top of every page
4447 except the title and copyright pages. Some manuals also contain
4448 footings. (Headings and footings have no meaning to Info, which is not
4453 * Headings Introduced:: Conventions for using page headings.
4454 * Heading Format:: Standard page heading formats.
4455 * Heading Choice:: How to specify the type of page heading.
4456 * Custom Headings:: How to create your own headings and footings.
4459 File: texinfo.info, Node: Headings Introduced, Next: Heading Format, Prev: Headings, Up: Headings
4464 Texinfo provides standard page heading formats for manuals that are
4465 printed on one side of each sheet of paper and for manuals that are
4466 printed on both sides of the paper. Typically, you will use these
4467 formats, but you can specify your own format if you wish.
4469 In addition, you can specify whether chapters should begin on a new
4470 page, or merely continue the same page as the previous chapter; and if
4471 chapters begin on new pages, you can specify whether they must be
4474 By convention, a book is printed on both sides of each sheet of paper.
4475 When you open a book, the right-hand page is odd-numbered, and chapters
4476 begin on right-hand pages--a preceding left-hand page is left blank if
4477 necessary. Reports, however, are often printed on just one side of
4478 paper, and chapters begin on a fresh page immediately following the end
4479 of the preceding chapter. In short or informal reports, chapters often
4480 do not begin on a new page at all, but are separated from the preceding
4481 text by a small amount of whitespace.
4483 The `@setchapternewpage' command controls whether chapters begin on
4484 new pages, and whether one of the standard heading formats is used. In
4485 addition, Texinfo has several heading and footing commands that you can
4486 use to generate your own heading and footing formats.
4488 In Texinfo, headings and footings are single lines at the tops and
4489 bottoms of pages; you cannot create multiline headings or footings.
4490 Each header or footer line is divided into three parts: a left part, a
4491 middle part, and a right part. Any part, or a whole line, may be left
4492 blank. Text for the left part of a header or footer line is set
4493 flushleft; text for the middle part is centered; and, text for the
4494 right part is set flushright.
4497 File: texinfo.info, Node: Heading Format, Next: Heading Choice, Prev: Headings Introduced, Up: Headings
4499 F.1 Standard Heading Formats
4500 ============================
4502 Texinfo provides two standard heading formats, one for manuals printed
4503 on one side of each sheet of paper, and the other for manuals printed
4504 on both sides of the paper.
4506 By default, nothing is specified for the footing of a Texinfo file,
4507 so the footing remains blank.
4509 The standard format for single-sided printing consists of a header
4510 line in which the left-hand part contains the name of the chapter, the
4511 central part is blank, and the right-hand part contains the page number.
4513 A single-sided page looks like this:
4515 _______________________
4517 | chapter page number |
4519 | Start of text ... |
4523 The standard format for two-sided printing depends on whether the page
4524 number is even or odd. By convention, even-numbered pages are on the
4525 left- and odd-numbered pages are on the right. (TeX will adjust the
4526 widths of the left- and right-hand margins. Usually, widths are
4527 correct, but during double-sided printing, it is wise to check that
4528 pages will bind properly--sometimes a printer will produce output in
4529 which the even-numbered pages have a larger right-hand margin than the
4530 odd-numbered pages.)
4532 In the standard double-sided format, the left part of the left-hand
4533 (even-numbered) page contains the page number, the central part is
4534 blank, and the right part contains the title (specified by the
4535 `@settitle' command). The left part of the right-hand (odd-numbered)
4536 page contains the name of the chapter, the central part is blank, and
4537 the right part contains the page number.
4539 Two pages, side by side as in an open book, look like this:
4541 _______________________ _______________________
4543 | page number title | | chapter page number |
4545 | Start of text ... | | More text ... |
4549 The chapter name is preceded by the word "Chapter", the chapter number
4550 and a colon. This makes it easier to keep track of where you are in the
4554 File: texinfo.info, Node: Heading Choice, Next: Custom Headings, Prev: Heading Format, Up: Headings
4556 F.2 Specifying the Type of Heading
4557 ==================================
4559 TeX does not begin to generate page headings for a standard Texinfo
4560 file until it reaches the `@end titlepage' command. Thus, the title
4561 and copyright pages are not numbered. The `@end titlepage' command
4562 causes TeX to begin to generate page headings according to a standard
4563 format specified by the `@setchapternewpage' command that precedes the
4564 `@titlepage' section.
4566 There are four possibilities:
4568 No `@setchapternewpage' command
4569 Cause TeX to specify the single-sided heading format, with chapters
4570 on new pages. This is the same as `@setchapternewpage on'.
4572 `@setchapternewpage on'
4573 Specify the single-sided heading format, with chapters on new
4576 `@setchapternewpage off'
4577 Cause TeX to start a new chapter on the same page as the last page
4578 of the preceding chapter, after skipping some vertical whitespace.
4579 Also cause TeX to typeset for single-sided printing. (You can
4580 override the headers format with the `@headings double' command;
4581 see *Note The `@headings' Command: headings on off.)
4583 `@setchapternewpage odd'
4584 Specify the double-sided heading format, with chapters on new
4587 Texinfo lacks an `@setchapternewpage even' command.
4590 File: texinfo.info, Node: Custom Headings, Prev: Heading Choice, Up: Headings
4592 F.3 How to Make Your Own Headings
4593 =================================
4595 You can use the standard headings provided with Texinfo or specify your
4596 own. By default, Texinfo has no footers, so if you specify them, the
4597 available page size for the main text will be slightly reduced.
4599 Texinfo provides six commands for specifying headings and footings.
4600 The `@everyheading' command and `@everyfooting' command generate page
4601 headers and footers that are the same for both even- and odd-numbered
4602 pages. The `@evenheading' command and `@evenfooting' command generate
4603 headers and footers for even-numbered (left-hand) pages; and the
4604 `@oddheading' command and `@oddfooting' command generate headers and
4605 footers for odd-numbered (right-hand) pages.
4607 Write custom heading specifications in the Texinfo file immediately
4608 after the `@end titlepage' command. Enclose your specifications
4609 between `@iftex' and `@end iftex' commands since the
4610 `texinfo-format-buffer' command may not recognize them. Also, you must
4611 cancel the predefined heading commands with the `@headings off' command
4612 before defining your own specifications.
4614 Here is how to tell TeX to place the chapter name at the left, the
4615 page number in the center, and the date at the right of every header
4616 for both even- and odd-numbered pages:
4620 @everyheading @thischapter @| @thispage @| @today{}
4623 You need to divide the left part from the central part and the central
4624 part from the right part by inserting `@|' between parts. Otherwise,
4625 the specification command will not be able to tell where the text for
4626 one part ends and the next part begins.
4628 Each part can contain text or @-commands. The text is printed as if
4629 the part were within an ordinary paragraph in the body of the page.
4630 The @-commands replace themselves with the page number, date, chapter
4633 Here are the six heading and footing commands:
4635 `@everyheading LEFT @| CENTER @| RIGHT'
4636 `@everyfooting LEFT @| CENTER @| RIGHT'
4637 The `every' commands specify the format for both even- and
4638 odd-numbered pages. These commands are for documents that are
4639 printed on one side of each sheet of paper, or for documents in
4640 which you want symmetrical headers or footers.
4642 `@evenheading LEFT @| CENTER @| RIGHT'
4643 `@oddheading LEFT @| CENTER @| RIGHT'
4644 `@evenfooting LEFT @| CENTER @| RIGHT'
4645 `@oddfooting LEFT @| CENTER @| RIGHT'
4646 The `even' and `odd' commands specify the format for even-numbered
4647 pages and odd-numbered pages. These commands are for books and
4648 manuals that are printed on both sides of each sheet of paper.
4650 Use the `@this...' series of @-commands to provide the names of
4651 chapters and sections and the page number. You can use the `@this...'
4652 commands in the left, center, or right portions of headers and footers,
4653 or anywhere else in a Texinfo file so long as they are between `@iftex'
4654 and `@end iftex' commands.
4656 Here are the `@this...' commands:
4659 Expands to the current page number.
4662 Expands to the name of the current chapter.
4665 Expands to the number and name of the current chapter, in the
4666 format `Chapter 1: Title'.
4669 Expands to the name of the document, as specified by the
4670 `@settitle' command.
4673 For `@include' files only: expands to the name of the current
4674 `@include' file. If the current Texinfo source file is not an
4675 `@include' file, this command has no effect. This command does
4676 _not_ provide the name of the current Texinfo source file unless
4677 it is an `@include' file. (*Note Include Files::, for more
4678 information about `@include' files.)
4680 You can also use the `@today{}' command, which expands to the current
4681 date, in `1 Jan 1900' format.
4683 Other @-commands and text are printed in a header or footer just as
4684 if they were in the body of a page. It is useful to incorporate text,
4685 particularly when you are writing drafts:
4689 @everyheading @emph{Draft!} @| @thispage @| @thischapter
4690 @everyfooting @| @| Version: 0.27: @today{}
4693 Beware of overlong titles: they may overlap another part of the
4694 header or footer and blot it out.
4697 File: texinfo.info, Node: Catching Mistakes, Next: Refilling Paragraphs, Prev: Headings, Up: Top
4699 Appendix G Formatting Mistakes
4700 ******************************
4702 Besides mistakes in the content of your documentation, there are two
4703 kinds of mistake you can make with Texinfo: you can make mistakes with
4704 @-commands, and you can make mistakes with the structure of the nodes
4707 Emacs has two tools for catching the @-command mistakes and two for
4708 catching structuring mistakes.
4710 For finding problems with @-commands, you can run TeX or a region
4711 formatting command on the region that has a problem; indeed, you can
4712 run these commands on each region as you write it.
4714 For finding problems with the structure of nodes and chapters, you
4715 can use `C-c C-s' (`texinfo-show-structure') and the related `occur'
4716 command and you can use the `M-x Info-validate' command.
4720 * makeinfo Preferred:: `makeinfo' finds errors.
4721 * Debugging with Info:: How to catch errors with Info formatting.
4722 * Debugging with TeX:: How to catch errors with TeX formatting.
4723 * Using texinfo-show-structure:: How to use `texinfo-show-structure'.
4724 * Using occur:: How to list all lines containing a pattern.
4725 * Running Info-Validate:: How to find badly referenced nodes.
4728 File: texinfo.info, Node: makeinfo Preferred, Next: Debugging with Info, Prev: Catching Mistakes, Up: Catching Mistakes
4730 `makeinfo' Find Errors
4731 ======================
4733 The `makeinfo' program does an excellent job of catching errors and
4734 reporting them--far better than `texinfo-format-region' or
4735 `texinfo-format-buffer'. In addition, the various functions for
4736 automatically creating and updating node pointers and menus remove many
4737 opportunities for human error.
4739 If you can, use the updating commands to create and insert pointers
4740 and menus. These prevent many errors. Then use `makeinfo' (or its
4741 Texinfo mode manifestations, `makeinfo-region' and `makeinfo-buffer')
4742 to format your file and check for other errors. This is the best way
4743 to work with Texinfo. But if you cannot use `makeinfo', or your
4744 problem is very puzzling, then you may want to use the tools described
4748 File: texinfo.info, Node: Debugging with Info, Next: Debugging with TeX, Prev: makeinfo Preferred, Up: Catching Mistakes
4750 G.1 Catching Errors with Info Formatting
4751 ========================================
4753 After you have written part of a Texinfo file, you can use the
4754 `texinfo-format-region' or the `makeinfo-region' command to see whether
4755 the region formats properly.
4757 Most likely, however, you are reading this section because for some
4758 reason you cannot use the `makeinfo-region' command; therefore, the
4759 rest of this section presumes that you are using
4760 `texinfo-format-region'.
4762 If you have made a mistake with an @-command, `texinfo-format-region'
4763 will stop processing at or after the error and display an error
4764 message. To see where in the buffer the error occurred, switch to the
4765 `*Info Region*' buffer; the cursor will be in a position that is after
4766 the location of the error. Also, the text will not be formatted after
4767 the place where the error occurred (or more precisely, where it was
4770 For example, if you accidentally end a menu with the command `@end
4771 menus' with an `s' on the end, instead of with `@end menu', you will
4772 see an error message that says:
4774 @end menus is not handled by texinfo
4776 The cursor will stop at the point in the buffer where the error occurs,
4777 or not long after it. The buffer will look like this:
4779 ---------- Buffer: *Info Region* ----------
4782 * Using texinfo-show-structure:: How to use
4783 `texinfo-show-structure'
4785 * Running Info-Validate:: How to check for
4789 ---------- Buffer: *Info Region* ----------
4791 The `texinfo-format-region' command sometimes provides slightly odd
4792 error messages. For example, the following cross reference fails to
4795 (@xref{Catching Mistakes, for more info.)
4797 In this case, `texinfo-format-region' detects the missing closing brace
4798 but displays a message that says `Unbalanced parentheses' rather than
4799 `Unbalanced braces'. This is because the formatting command looks for
4800 mismatches between braces as if they were parentheses.
4802 Sometimes `texinfo-format-region' fails to detect mistakes. For
4803 example, in the following, the closing brace is swapped with the
4804 closing parenthesis:
4806 (@xref{Catching Mistakes), for more info.}
4808 Formatting produces:
4809 (*Note for more info.: Catching Mistakes)
4811 The only way for you to detect this error is to realize that the
4812 reference should have looked like this:
4814 (*Note Catching Mistakes::, for more info.)
4816 Incidentally, if you are reading this node in Info and type `f <RET>'
4817 (`Info-follow-reference'), you will generate an error message that says:
4819 No such node: "Catching Mistakes) The only way ...
4821 This is because Info perceives the example of the error as the first
4822 cross reference in this node and if you type a <RET> immediately after
4823 typing the Info `f' command, Info will attempt to go to the referenced
4824 node. If you type `f catch <TAB> <RET>', Info will complete the node
4825 name of the correctly written example and take you to the `Catching
4826 Mistakes' node. (If you try this, you can return from the `Catching
4827 Mistakes' node by typing `l' (`Info-last').)
4830 File: texinfo.info, Node: Debugging with TeX, Next: Using texinfo-show-structure, Prev: Debugging with Info, Up: Catching Mistakes
4832 G.2 Catching Errors with TeX Formatting
4833 =======================================
4835 You can also catch mistakes when you format a file with TeX.
4837 Usually, you will want to do this after you have run
4838 `texinfo-format-buffer' (or, better, `makeinfo-buffer') on the same
4839 file, because `texinfo-format-buffer' sometimes displays error messages
4840 that make more sense than TeX. (*Note Debugging with Info::, for more
4843 For example, TeX was run on a Texinfo file, part of which is shown
4846 ---------- Buffer: texinfo.texi ----------
4847 name of the Texinfo file as an extension. The
4848 @samp{??} are `wildcards' that cause the shell to
4849 substitute all the raw index files. (@xref{sorting
4850 indices, for more information about sorting
4852 ---------- Buffer: texinfo.texi ----------
4854 (The cross reference lacks a closing brace.) TeX produced the
4855 following output, after which it stopped:
4857 ---------- Buffer: *tex-shell* ----------
4859 {sorting indices, for more information about sorting
4860 indices.) @refill @ETC.
4861 ! Paragraph ended before @xref was complete.
4867 ---------- Buffer: *tex-shell* ----------
4869 In this case, TeX produced an accurate and understandable error
4872 Paragraph ended before @xref was complete.
4874 `@par' is an internal TeX command of no relevance to Texinfo. `l.27'
4875 means that TeX detected the problem on line 27 of the Texinfo file.
4876 The `?' is the prompt TeX uses in this circumstance.
4878 Unfortunately, TeX is not always so helpful, and sometimes you must
4879 truly be a Sherlock Holmes to discover what went wrong.
4881 In any case, if you run into a problem like this, you can do one of
4884 1. You can tell TeX to continue running and ignore just this error by
4885 typing <RET> at the `?' prompt.
4887 2. You can tell TeX to continue running and to ignore all errors as
4888 best it can by typing `r <RET>' at the `?' prompt.
4890 This is often the best thing to do. However, beware: the one error
4891 may produce a cascade of additional error messages as its
4892 consequences are felt through the rest of the file. To stop TeX
4893 when it is producing such an avalanche of error messages, type
4894 `C-c' (or `C-c C-c', if you are running a shell inside Emacs).
4896 3. You can tell TeX to stop this run by typing `x <RET>' at the `?'
4899 Please note that if you are running TeX inside Emacs, you need to
4900 switch to the shell buffer and line at which TeX offers the `?' prompt.
4902 Sometimes TeX will format a file without producing error messages even
4903 though there is a problem. This usually occurs if a command is not
4904 ended but TeX is able to continue processing anyhow. For example, if
4905 you fail to end an itemized list with the `@end itemize' command, TeX
4906 will write a DVI file that you can print out. The only error message
4907 that TeX will give you is the somewhat mysterious comment that
4909 (@end occurred inside a group at level 1)
4911 However, if you print the DVI file, you will find that the text of the
4912 file that follows the itemized list is entirely indented as if it were
4913 part of the last item in the itemized list. The error message is the
4914 way TeX says that it expected to find an `@end' command somewhere in
4915 the file; but that it could not determine where it was needed.
4917 Another source of notoriously hard-to-find errors is a missing `@end
4918 group' command. If you ever are stumped by incomprehensible errors,
4919 look for a missing `@end group' command first.
4921 If the Texinfo file lacks header lines, TeX may stop in the beginning
4922 of its run and display output that looks like the following. The `*'
4923 indicates that TeX is waiting for input.
4925 This is TeX, Version 3.14159 (Web2c 7.0)
4929 In this case, simply type `\end <RET>' after the asterisk. Then write
4930 the header lines in the Texinfo file and run the TeX command again.
4931 (Note the use of the backslash, `\'. TeX uses `\' instead of `@'; and
4932 in this circumstance, you are working directly with TeX, not with
4936 File: texinfo.info, Node: Using texinfo-show-structure, Next: Using occur, Prev: Debugging with TeX, Up: Catching Mistakes
4938 G.3 Using `texinfo-show-structure'
4939 ==================================
4941 It is not always easy to keep track of the nodes, chapters, sections,
4942 and subsections of a Texinfo file. This is especially true if you are
4943 revising or adding to a Texinfo file that someone else has written.
4945 In GNU Emacs, in Texinfo mode, the `texinfo-show-structure' command
4946 lists all the lines that begin with the @-commands that specify the
4947 structure: `@chapter', `@section', `@appendix', and so on. With an
4948 argument (`C-u' as prefix argument, if interactive), the command also
4949 shows the `@node' lines. The `texinfo-show-structure' command is bound
4950 to `C-c C-s' in Texinfo mode, by default.
4952 The lines are displayed in a buffer called the `*Occur*' buffer,
4953 indented by hierarchical level. For example, here is a part of what was
4954 produced by running `texinfo-show-structure' on this manual:
4956 Lines matching "^@\\(chapter \\|sect\\|subs\\|subh\\|
4957 unnum\\|major\\|chapheading \\|heading \\|appendix\\)"
4958 in buffer texinfo.texi.
4961 4198: @heading Two Paths
4962 4231: @section Node and Menu Illustration
4963 4337: @section The @code{@@node} Command
4964 4393: @subheading Choosing Node and Pointer Names
4965 4417: @subsection How to Write an @code{@@node} Line
4966 4469: @subsection @code{@@node} Line Tips
4969 This says that lines 4337, 4393, and 4417 of `texinfo.texi' begin
4970 with the `@section', `@subheading', and `@subsection' commands
4971 respectively. If you move your cursor into the `*Occur*' window, you
4972 can position the cursor over one of the lines and use the `C-c C-c'
4973 command (`occur-mode-goto-occurrence'), to jump to the corresponding
4974 spot in the Texinfo file. *Note Using Occur: (xemacs)Other Repeating
4975 Search, for more information about `occur-mode-goto-occurrence'.
4977 The first line in the `*Occur*' window describes the "regular
4978 expression" specified by TEXINFO-HEADING-PATTERN. This regular
4979 expression is the pattern that `texinfo-show-structure' looks for.
4980 *Note Using Regular Expressions: (xemacs)Regexps, for more information.
4982 When you invoke the `texinfo-show-structure' command, Emacs will
4983 display the structure of the whole buffer. If you want to see the
4984 structure of just a part of the buffer, of one chapter, for example,
4985 use the `C-x n n' (`narrow-to-region') command to mark the region.
4986 (*Note Narrowing: (xemacs)Narrowing.) This is how the example used
4987 above was generated. (To see the whole buffer again, use `C-x n w'
4990 If you call `texinfo-show-structure' with a prefix argument by typing
4991 `C-u C-c C-s', it will list lines beginning with `@node' as well as the
4992 lines beginning with the @-sign commands for `@chapter', `@section',
4995 You can remind yourself of the structure of a Texinfo file by looking
4996 at the list in the `*Occur*' window; and if you have mis-named a node
4997 or left out a section, you can correct the mistake.
5000 File: texinfo.info, Node: Using occur, Next: Running Info-Validate, Prev: Using texinfo-show-structure, Up: Catching Mistakes
5005 Sometimes the `texinfo-show-structure' command produces too much
5006 information. Perhaps you want to remind yourself of the overall
5007 structure of a Texinfo file, and are overwhelmed by the detailed list
5008 produced by `texinfo-show-structure'. In this case, you can use the
5009 `occur' command directly. To do this, type
5013 and then, when prompted, type a "regexp", a regular expression for the
5014 pattern you want to match. (*Note Regular Expressions:
5015 (xemacs)Regexps.) The `occur' command works from the current location
5016 of the cursor in the buffer to the end of the buffer. If you want to
5017 run `occur' on the whole buffer, place the cursor at the beginning of
5020 For example, to see all the lines that contain the word `@chapter' in
5021 them, just type `@chapter'. This will produce a list of the chapters.
5022 It will also list all the sentences with `@chapter' in the middle of
5025 If you want to see only those lines that start with the word
5026 `@chapter', type `^@chapter' when prompted by `occur'. If you want to
5027 see all the lines that end with a word or phrase, end the last word
5028 with a `$'; for example, `catching mistakes$'. This can be helpful
5029 when you want to see all the nodes that are part of the same chapter or
5030 section and therefore have the same `Up' pointer.
5032 *Note Using Occur: (xemacs)Other Repeating Search, for more
5036 File: texinfo.info, Node: Running Info-Validate, Prev: Using occur, Up: Catching Mistakes
5038 G.5 Finding Badly Referenced Nodes
5039 ==================================
5041 You can use the `Info-validate' command to check whether any of the
5042 `Next', `Previous', `Up' or other node pointers fail to point to a
5043 node. This command checks that every node pointer points to an
5044 existing node. The `Info-validate' command works only on Info files,
5045 not on Texinfo files.
5047 The `makeinfo' program validates pointers automatically, so you do
5048 not need to use the `Info-validate' command if you are using
5049 `makeinfo'. You only may need to use `Info-validate' if you are unable
5050 to run `makeinfo' and instead must create an Info file using
5051 `texinfo-format-region' or `texinfo-format-buffer', or if you write an
5052 Info file from scratch.
5056 * Using Info-validate:: How to run `Info-validate'.
5057 * Unsplit:: How to create an unsplit file.
5058 * Tagifying:: How to tagify a file.
5059 * Splitting:: How to split a file manually.
5062 File: texinfo.info, Node: Using Info-validate, Next: Unsplit, Prev: Running Info-Validate, Up: Running Info-Validate
5064 G.5.1 Running `Info-validate'
5065 -----------------------------
5067 To use `Info-validate', visit the Info file you wish to check and type:
5071 (Note that the `Info-validate' command requires an upper case `I'. You
5072 may also need to create a tag table before running `Info-validate'.
5075 If your file is valid, you will receive a message that says "File
5076 appears valid". However, if you have a pointer that does not point to
5077 a node, error messages will be displayed in a buffer called `*problems
5080 For example, `Info-validate' was run on a test file that contained
5081 only the first node of this manual. One of the messages said:
5083 In node "Overview", invalid Next: Texinfo Mode
5085 This meant that the node called `Overview' had a `Next' pointer that
5086 did not point to anything (which was true in this case, since the test
5087 file had only one node in it).
5089 Now suppose we add a node named `Texinfo Mode' to our test case but
5090 we do not specify a `Previous' for this node. Then we will get the
5091 following error message:
5093 In node "Texinfo Mode", should have Previous: Overview
5095 This is because every `Next' pointer should be matched by a `Previous'
5096 (in the node where the `Next' points) which points back.
5098 `Info-validate' also checks that all menu entries and cross references
5099 point to actual nodes.
5101 Note that `Info-validate' requires a tag table and does not work with
5102 files that have been split. (The `texinfo-format-buffer' command
5103 automatically splits large files.) In order to use `Info-validate' on
5104 a large file, you must run `texinfo-format-buffer' with an argument so
5105 that it does not split the Info file; and you must create a tag table
5106 for the unsplit file.
5109 File: texinfo.info, Node: Unsplit, Next: Tagifying, Prev: Using Info-validate, Up: Running Info-Validate
5111 G.5.2 Creating an Unsplit File
5112 ------------------------------
5114 You can run `Info-validate' only on a single Info file that has a tag
5115 table. The command will not work on the indirect subfiles that are
5116 generated when a master file is split. If you have a large file
5117 (longer than 70,000 bytes or so), you need to run the
5118 `texinfo-format-buffer' or `makeinfo-buffer' command in such a way that
5119 it does not create indirect subfiles. You will also need to create a
5120 tag table for the Info file. After you have done this, you can run
5121 `Info-validate' and look for badly referenced nodes.
5123 The first step is to create an unsplit Info file. To prevent
5124 `texinfo-format-buffer' from splitting a Texinfo file into smaller Info
5125 files, give a prefix to the `M-x texinfo-format-buffer' command:
5127 C-u M-x texinfo-format-buffer
5133 When you do this, Texinfo will not split the file and will not create a
5137 File: texinfo.info, Node: Tagifying, Next: Splitting, Prev: Unsplit, Up: Running Info-Validate
5139 G.5.3 Tagifying a File
5140 ----------------------
5142 After creating an unsplit Info file, you must create a tag table for
5143 it. Visit the Info file you wish to tagify and type:
5147 (Note the upper case `I' in `Info-tagify'.) This creates an Info file
5148 with a tag table that you can validate.
5150 The third step is to validate the Info file:
5154 (Note the upper case `I' in `Info-validate'.) In brief, the steps are:
5156 C-u M-x texinfo-format-buffer
5160 After you have validated the node structure, you can rerun
5161 `texinfo-format-buffer' in the normal way so it will construct a tag
5162 table and split the file automatically, or you can make the tag table
5163 and split the file manually.
5166 File: texinfo.info, Node: Splitting, Prev: Tagifying, Up: Running Info-Validate
5168 G.5.4 Splitting a File Manually
5169 -------------------------------
5171 You should split a large file or else let the `texinfo-format-buffer'
5172 or `makeinfo-buffer' command do it for you automatically. (Generally
5173 you will let one of the formatting commands do this job for you. *Note
5174 Create an Info File::.)
5176 The split-off files are called the indirect subfiles.
5178 Info files are split to save memory. With smaller files, Emacs does
5179 not have make such a large buffer to hold the information.
5181 If an Info file has more than 30 nodes, you should also make a tag
5182 table for it. *Note Using Info-validate::, for information about
5183 creating a tag table. (Again, tag tables are usually created
5184 automatically by the formatting command; you only need to create a tag
5185 table yourself if you are doing the job manually. Most likely, you
5186 will do this for a large, unsplit file on which you have run
5189 Visit the Info file you wish to tagify and split and type the two
5195 (Note that the `I' in `Info' is upper case.)
5197 When you use the `Info-split' command, the buffer is modified into a
5198 (small) Info file which lists the indirect subfiles. This file should
5199 be saved in place of the original visited file. The indirect subfiles
5200 are written in the same directory the original file is in, with names
5201 generated by appending `-' and a number to the original file name.
5203 The primary file still functions as an Info file, but it contains just
5204 the tag table and a directory of subfiles.
5207 File: texinfo.info, Node: Refilling Paragraphs, Next: Command Syntax, Prev: Catching Mistakes, Up: Top
5209 Appendix H Refilling Paragraphs
5210 *******************************
5212 The `@refill' command refills and, optionally, indents the first line
5213 of a paragraph.(1) (*note Refilling Paragraphs-Footnote-1::) The
5214 `@refill' command is no longer important, but we describe it here
5215 because you once needed it. You will see it in many old Texinfo files.
5217 Without refilling, paragraphs containing long @-constructs may look
5218 bad after formatting because the formatter removes @-commands and
5219 shortens some lines more than others. In the past, neither the
5220 `texinfo-format-region' command nor the `texinfo-format-buffer' command
5221 refilled paragraphs automatically. The `@refill' command had to be
5222 written at the end of every paragraph to cause these formatters to fill
5223 them. (Both TeX and `makeinfo' have always refilled paragraphs
5224 automatically.) Now, all the Info formatters automatically fill and
5225 indent those paragraphs that need to be filled and indented.
5227 The `@refill' command causes `texinfo-format-region' and
5228 `texinfo-format-buffer' to refill a paragraph in the Info file _after_
5229 all the other processing has been done. For this reason, you can not
5230 use `@refill' with a paragraph containing either `@*' or `@w{ ... }'
5231 since the refilling action will override those two commands.
5233 The `texinfo-format-region' and `texinfo-format-buffer' commands now
5234 automatically append `@refill' to the end of each paragraph that should
5235 be filled. They do not append `@refill' to the ends of paragraphs that
5236 contain `@*' or `@w{ ...}' and therefore do not refill or indent them.
5239 File: texinfo.info, Node: Refilling Paragraphs-Footnotes, Up: Refilling Paragraphs
5241 (1) Perhaps the command should have been called the
5242 `@refillandindent' command, but `@refill' is shorter and the name was
5243 chosen before indenting was possible.
5246 File: texinfo.info, Node: Command Syntax, Next: Obtaining TeX, Prev: Refilling Paragraphs, Up: Top
5248 Appendix I @-Command Syntax
5249 ***************************
5251 The character `@' is used to start special Texinfo commands. (It has
5252 the same meaning that `\' has in plain TeX.) Texinfo has four types of
5255 1. Non-alphabetic commands.
5256 These commands consist of an @ followed by a punctuation mark or
5257 other character that is not part of the alphabet. Non-alphabetic
5258 commands are almost always part of the text within a paragraph,
5259 and never take any argument. The two characters (@ and the other
5260 one) are complete in themselves; none is followed by braces. The
5261 non-alphabetic commands are: `@.', `@:', `@*', `@SPACE', `@TAB',
5262 `@NL', `@@', `@{', and `@}'.
5264 2. Alphabetic commands that do not require arguments.
5265 These commands start with @ followed by a word followed by left-
5266 and right-hand braces. These commands insert special symbols in
5267 the document; they do not require arguments. For example,
5268 `@dots{}' => `...', `@equiv{}' => `==', `@TeX{}' => `TeX', and
5271 3. Alphabetic commands that require arguments within braces.
5272 These commands start with @ followed by a letter or a word,
5273 followed by an argument within braces. For example, the command
5274 `@dfn' indicates the introductory or defining use of a term; it is
5275 used as follows: `In Texinfo, @@-commands are @dfn{mark-up}
5278 4. Alphabetic commands that occupy an entire line.
5279 These commands occupy an entire line. The line starts with @,
5280 followed by the name of the command (a word); for example,
5281 `@center' or `@cindex'. If no argument is needed, the word is
5282 followed by the end of the line. If there is an argument, it is
5283 separated from the command name by a space. Braces are not used.
5285 Thus, the alphabetic commands fall into classes that have different
5286 argument syntaxes. You cannot tell to which class a command belongs by
5287 the appearance of its name, but you can tell by the command's meaning:
5288 if the command stands for a glyph, it is in class 2 and does not
5289 require an argument; if it makes sense to use the command together with
5290 other text as part of a paragraph, the command is in class 3 and must
5291 be followed by an argument in braces; otherwise, it is in class 4 and
5292 uses the rest of the line as its argument.
5294 The purpose of having a different syntax for commands of classes 3 and
5295 4 is to make Texinfo files easier to read, and also to help the GNU
5296 Emacs paragraph and filling commands work properly. There is only one
5297 exception to this rule: the command `@refill', which is always used at
5298 the end of a paragraph immediately following the final period or other
5299 punctuation character. `@refill' takes no argument and does _not_
5300 require braces. `@refill' never confuses the Emacs paragraph commands
5301 because it cannot appear at the beginning of a line.
5304 File: texinfo.info, Node: Obtaining TeX, Next: Command and Variable Index, Prev: Command Syntax, Up: Top
5306 Appendix J How to Obtain TeX
5307 ****************************
5309 TeX is freely redistributable. You can obtain TeX for Unix systems via
5310 anonymous ftp or on physical media. The core material consists of the
5311 Web2c TeX distribution (`http://tug.org/web2c').
5313 Instructions for retrieval by anonymous ftp and information on other
5314 available distributions:
5315 `ftp://tug.org/tex/unixtex.ftp'
5316 `http://tug.org/unixtex.ftp'
5318 The Free Software Foundation provides a core distribution on its
5319 Source Code CD-ROM suitable for printing Texinfo manuals; the
5320 University of Washington maintains and supports a tape distribution;
5321 the TeX Users Group co-sponsors a complete CD-ROM TeX distribution.
5323 * For the FSF Source Code CD-ROM, please contact:
5325 Free Software Foundation, Inc.
5326 59 Temple Place Suite 330
5327 Boston, MA 02111-1307
5330 Telephone: +1-617-542-5942
5331 Fax: (including Japan) +1-617-542-2652
5332 Free Dial Fax (in Japan):
5334 0066-3382-0158 (IDC)
5335 Electronic mail: `gnu@gnu.org'
5337 * To order a complete distribution on CD-ROM, please see
5338 `http://tug.org/tex-live.html'. (This distribution is also
5339 available by FTP; see the URL's above.)
5341 * To order a full distribution from the University of Washington on
5342 either a 1/4in 4-track QIC-24 cartridge or a 4mm DAT cartridge,
5346 Denny Hall, Mail Stop DH-10
5347 University of Washington
5350 Telephone: +1-206-543-2268
5351 Electronic mail: `mackay@cs.washington.edu'
5353 Please make checks payable to the University of Washington.
5354 Checks must be in U.S. dollars, drawn on a U.S. bank. Overseas
5355 sites: please add to the base cost, if desired, $20.00 for
5356 shipment via air parcel post, or $30.00 for shipment via courier.
5359 Many other TeX distributions are available; see `http://tug.org/'.
5362 File: texinfo.info, Node: Command and Variable Index, Next: Concept Index, Prev: Obtaining TeX, Up: Top
5364 Command and Variable Index
5365 **************************
5367 This is an alphabetical list of all the @-commands, assorted Emacs Lisp
5368 functions, and several variables. To make the list easier to use, the
5369 commands are listed without their preceding `@'.
5374 * ! (end of sentence): Ending a Sentence. (line 6)
5375 * ": Inserting Accents. (line 13)
5376 * ': Inserting Accents. (line 13)
5377 * (newline): Multiple Spaces. (line 6)
5378 * (space): Multiple Spaces. (line 6)
5379 * (tab): Multiple Spaces. (line 6)
5380 * * (force line break): Line Breaks. (line 6)
5381 * ,: Inserting Accents. (line 13)
5382 * -: - and hyphenation. (line 6)
5383 * . (end of sentence): Ending a Sentence. (line 6)
5384 * : (suppress widening): Not Ending a Sentence.
5386 * =: Inserting Accents. (line 13)
5387 * ? (end of sentence): Ending a Sentence. (line 6)
5388 * @ (single @): Inserting An Atsign. (line 6)
5389 * ^: Inserting Accents. (line 13)
5390 * `: Inserting Accents. (line 13)
5391 * AA: Inserting Accents. (line 33)
5392 * aa: Inserting Accents. (line 33)
5393 * AE: Inserting Accents. (line 33)
5394 * ae: Inserting Accents. (line 33)
5395 * afourpaper: A4 Paper. (line 6)
5396 * appendix: unnumbered & appendix.
5398 * appendixsec: unnumberedsec appendixsec heading.
5400 * appendixsection: unnumberedsec appendixsec heading.
5402 * appendixsubsec: unnumberedsubsec appendixsubsec subheading.
5404 * appendixsubsubsec: subsubsection. (line 6)
5405 * apply: Sample Function Definition.
5407 * asis: table. (line 19)
5408 * author: title subtitle author.
5410 * b (bold font): Fonts. (line 6)
5411 * buffer-end: Def Cmd Template. (line 74)
5412 * bullet: bullet. (line 6)
5413 * bye <1>: File End. (line 6)
5414 * bye: Ending a File. (line 6)
5415 * c (comment): Comments. (line 16)
5416 * cartouche: cartouche. (line 6)
5417 * center: titlefont center sp. (line 6)
5418 * centerchap: chapter. (line 25)
5419 * chapheading: majorheading & chapheading.
5421 * chapter: chapter. (line 6)
5422 * cindex: Indexing Commands. (line 56)
5423 * cite: cite. (line 6)
5424 * clear: ifset ifclear. (line 40)
5425 * code: code. (line 6)
5426 * columnfractions: Multitable Column Widths.
5428 * comment: Comments. (line 16)
5429 * contents: Contents. (line 6)
5430 * copyright <1>: copyright symbol. (line 6)
5431 * copyright: Copyright & Permissions.
5433 * cropmarks: Cropmarks and Magnification.
5435 * defcodeindex: New Indices. (line 6)
5436 * defcv: Abstract Objects. (line 17)
5437 * deffn: Functions Commands. (line 9)
5438 * deffnx: deffnx. (line 6)
5439 * defindex: New Indices. (line 6)
5440 * definfoenclose: Customized Highlighting.
5442 * defivar: Abstract Objects. (line 39)
5443 * defmac: Functions Commands. (line 67)
5444 * defmethod: Abstract Objects. (line 96)
5445 * defop: Abstract Objects. (line 52)
5446 * defopt: Variables Commands. (line 56)
5447 * defspec: Functions Commands. (line 72)
5448 * deftp: Data Types. (line 8)
5449 * deftypefn: Typed Functions. (line 10)
5450 * deftypefun: Typed Functions. (line 75)
5451 * deftypevar: Typed Variables. (line 42)
5452 * deftypevr: Typed Variables. (line 12)
5453 * defun: Functions Commands. (line 42)
5454 * defvar: Variables Commands. (line 38)
5455 * defvr: Variables Commands. (line 8)
5456 * dfn: dfn. (line 6)
5457 * dircategory: Installing Dir Entries.
5459 * direntry: Installing Dir Entries.
5461 * display: display. (line 6)
5462 * dmn: dmn. (line 6)
5463 * dotaccent: Inserting Accents. (line 13)
5464 * dotless: Inserting Accents. (line 33)
5465 * dots: dots. (line 6)
5466 * email: email. (line 6)
5467 * emph: emph & strong. (line 6)
5468 * end <1>: Introducing Lists. (line 20)
5469 * end: Quotations and Examples.
5471 * end titlepage: end titlepage. (line 6)
5472 * enumerate: enumerate. (line 6)
5473 * evenfooting: Custom Headings. (line 53)
5474 * evenheading: Custom Headings. (line 53)
5475 * everyfooting: Custom Headings. (line 46)
5476 * everyheading: Custom Headings. (line 46)
5477 * example: example. (line 6)
5478 * exclamdown: Inserting Accents. (line 33)
5479 * exdent: exdent. (line 6)
5480 * file: file. (line 6)
5481 * filll: Copyright & Permissions.
5483 * finalout: Overfull hboxes. (line 33)
5484 * findex: Indexing Commands. (line 59)
5485 * flushleft: flushleft & flushright.
5487 * flushright: flushleft & flushright.
5489 * foobar: Optional Arguments. (line 23)
5490 * footnote: Footnotes. (line 6)
5491 * footnotestyle: Footnote Styles. (line 43)
5492 * format: format. (line 6)
5493 * forward-word: Def Cmd Template. (line 31)
5494 * ftable: ftable vtable. (line 6)
5495 * group: group. (line 6)
5496 * H: Inserting Accents. (line 13)
5497 * heading: unnumberedsec appendixsec heading.
5499 * headings: headings on off. (line 6)
5500 * html: Raw Formatter Commands.
5502 * hyphenation: - and hyphenation. (line 6)
5503 * i (italic font): Fonts. (line 6)
5504 * ifclear: ifset ifclear. (line 60)
5505 * ifhtml <1>: Raw Formatter Commands.
5507 * ifhtml: Conditional Commands.
5509 * ifinfo: Conditional Commands.
5511 * ifnothtml: Conditional Not Commands.
5513 * ifnotinfo: Conditional Not Commands.
5515 * ifnottex: Conditional Not Commands.
5517 * ifset: ifset ifclear. (line 6)
5518 * iftex: Conditional Commands.
5520 * ignore: Comments. (line 26)
5521 * image: Images. (line 6)
5522 * include: Using Include Files. (line 6)
5523 * Info-validate: Running Info-Validate.
5525 * inforef: inforef. (line 6)
5526 * input (TeX command): Minimum. (line 24)
5527 * isearch-backward: deffnx. (line 22)
5528 * isearch-forward: deffnx. (line 21)
5529 * item <1>: Multitable Rows. (line 6)
5530 * item <2>: table. (line 35)
5531 * item: itemize. (line 23)
5532 * itemize: itemize. (line 6)
5533 * itemx: itemx. (line 6)
5534 * kbd: kbd. (line 6)
5535 * kbdinputstyle: kbd. (line 20)
5536 * key: key. (line 6)
5537 * kindex: Indexing Commands. (line 65)
5538 * L: Inserting Accents. (line 33)
5539 * l: Inserting Accents. (line 33)
5540 * lisp: Lisp Example. (line 6)
5541 * lowersections: Raise/lower sections.
5543 * macro: Defining Macros. (line 6)
5544 * mag (TeX command): Cropmarks and Magnification.
5546 * majorheading: majorheading & chapheading.
5548 * makeinfo-buffer: makeinfo in Emacs. (line 16)
5549 * makeinfo-kill-job: makeinfo in Emacs. (line 38)
5550 * makeinfo-recenter-output-buffer: makeinfo in Emacs. (line 43)
5551 * makeinfo-region: makeinfo in Emacs. (line 12)
5552 * math: math. (line 6)
5553 * menu: Menus. (line 6)
5554 * minus: minus. (line 6)
5555 * multitable: Multi-column Tables. (line 6)
5556 * need: need. (line 6)
5557 * next-error: makeinfo in Emacs. (line 27)
5558 * noindent: noindent. (line 6)
5559 * O: Inserting Accents. (line 33)
5560 * o: Inserting Accents. (line 33)
5561 * occur: Using occur. (line 6)
5562 * occur-mode-goto-occurrence: Showing the Structure.
5564 * oddfooting: Custom Headings. (line 53)
5565 * oddheading: Custom Headings. (line 53)
5566 * OE: Inserting Accents. (line 33)
5567 * oe: Inserting Accents. (line 33)
5568 * page: page. (line 6)
5569 * paragraphindent: paragraphindent. (line 6)
5570 * pindex: Indexing Commands. (line 68)
5571 * pounds: pounds. (line 6)
5572 * printindex: Printing Indices & Menus.
5574 * pxref: pxref. (line 6)
5575 * questiondown: Inserting Accents. (line 33)
5576 * quotation: quotation. (line 6)
5577 * r (Roman font): Fonts. (line 6)
5578 * raisesections: Raise/lower sections.
5580 * ref: ref. (line 6)
5581 * refill: Refilling Paragraphs.
5583 * ringaccent: Inserting Accents. (line 13)
5584 * samp: samp. (line 6)
5585 * sc (small caps font): Smallcaps. (line 6)
5586 * section: section. (line 6)
5587 * set: ifset ifclear. (line 12)
5588 * setchapternewpage: setchapternewpage. (line 6)
5589 * setfilename: setfilename. (line 6)
5590 * settitle: settitle. (line 6)
5591 * shortcontents: Contents. (line 6)
5592 * shorttitlepage: titlepage. (line 40)
5593 * smallbook: smallbook. (line 6)
5594 * smallexample: smallexample & smalllisp.
5596 * smalllisp: smallexample & smalllisp.
5598 * sp (line spacing): sp. (line 6)
5599 * sp (titlepage line spacing): titlefont center sp. (line 6)
5600 * ss: Inserting Accents. (line 33)
5601 * strong: emph & strong. (line 6)
5602 * subheading: unnumberedsubsec appendixsubsec subheading.
5604 * subsection: subsection. (line 6)
5605 * subsubheading: subsubsection. (line 6)
5606 * subsubsection: subsubsection. (line 6)
5607 * subtitle: title subtitle author.
5609 * summarycontents: Contents. (line 6)
5610 * syncodeindex: syncodeindex. (line 6)
5611 * synindex: synindex. (line 6)
5612 * t (typewriter font): Fonts. (line 6)
5613 * table: Two-column Tables. (line 6)
5614 * tex: Raw Formatter Commands.
5616 * tex (command): tex. (line 6)
5617 * texinfo-all-menus-update: Updating Commands. (line 112)
5618 * texinfo-every-node-update: Updating Commands. (line 107)
5619 * texinfo-format-buffer <1>: texinfo-format commands.
5621 * texinfo-format-buffer: Info Formatting. (line 22)
5622 * texinfo-format-region <1>: texinfo-format commands.
5624 * texinfo-format-region: Info Formatting. (line 13)
5625 * texinfo-indent-menu-description: Other Updating Commands.
5627 * texinfo-insert-@code: Inserting. (line 15)
5628 * texinfo-insert-@dfn: Inserting. (line 19)
5629 * texinfo-insert-@end: Inserting. (line 23)
5630 * texinfo-insert-@example: Inserting. (line 62)
5631 * texinfo-insert-@item: Inserting. (line 30)
5632 * texinfo-insert-@kbd: Inserting. (line 35)
5633 * texinfo-insert-@node: Inserting. (line 39)
5634 * texinfo-insert-@noindent: Inserting. (line 44)
5635 * texinfo-insert-@samp: Inserting. (line 49)
5636 * texinfo-insert-@table: Inserting. (line 53)
5637 * texinfo-insert-@var: Inserting. (line 58)
5638 * texinfo-insert-braces: Inserting. (line 67)
5639 * texinfo-insert-node-lines: Other Updating Commands.
5641 * texinfo-make-menu: Updating Commands. (line 93)
5642 * texinfo-master-menu: Updating Commands. (line 55)
5643 * texinfo-multiple-files-update: texinfo-multiple-files-update.
5645 * texinfo-multiple-files-update (in brief): Other Updating Commands.
5647 * texinfo-sequential-node-update: Other Updating Commands.
5649 * texinfo-show-structure <1>: Using texinfo-show-structure.
5651 * texinfo-show-structure: Showing the Structure.
5653 * texinfo-start-menu-description: Inserting. (line 94)
5654 * texinfo-tex-buffer: Printing. (line 21)
5655 * texinfo-tex-print: Printing. (line 42)
5656 * texinfo-tex-region: Printing. (line 27)
5657 * texinfo-update-node: Updating Commands. (line 83)
5658 * thischapter: Custom Headings. (line 75)
5659 * thischaptername: Custom Headings. (line 72)
5660 * thisfile: Custom Headings. (line 83)
5661 * thispage: Custom Headings. (line 69)
5662 * thistitle: Custom Headings. (line 79)
5663 * tieaccent: Inserting Accents. (line 13)
5664 * tindex: Indexing Commands. (line 71)
5665 * title: title subtitle author.
5667 * titlefont: titlefont center sp. (line 6)
5668 * titlepage: titlepage. (line 6)
5669 * today: Custom Headings. (line 92)
5670 * top (@-command): makeinfo top command.
5672 * u: Inserting Accents. (line 13)
5673 * ubaraccent: Inserting Accents. (line 13)
5674 * udotaccent: Inserting Accents. (line 13)
5675 * unmacro: Defining Macros. (line 26)
5676 * unnumbered: unnumbered & appendix.
5678 * unnumberedsec: unnumberedsec appendixsec heading.
5680 * unnumberedsubsec: unnumberedsubsec appendixsubsec subheading.
5682 * unnumberedsubsubsec: subsubsection. (line 6)
5683 * up-list: Inserting. (line 72)
5684 * uref: uref. (line 6)
5685 * url: url. (line 6)
5686 * v: Inserting Accents. (line 13)
5687 * value: value. (line 6)
5688 * var: var. (line 6)
5689 * vindex: Indexing Commands. (line 62)
5690 * vskip: Copyright & Permissions.
5692 * vtable: ftable vtable. (line 6)
5693 * w (prevent line break): w. (line 6)
5694 * xref: xref. (line 6)
5695 * { (single {): Inserting Braces. (line 6)
5696 * } (single }): Inserting Braces. (line 6)
5697 * ~: Inserting Accents. (line 13)
5700 File: texinfo.info, Node: Concept Index, Prev: Command and Variable Index, Up: Top
5708 * !: Inserting Accents. (line 33)
5709 * (dir) as Up node of Top node: First Node. (line 11)
5710 * --delete: Invoking install-info.
5712 * --dir-file=NAME: Invoking install-info.
5714 * --entry=TEXT: Invoking install-info.
5716 * --error-limit=LIMIT: makeinfo options. (line 32)
5717 * --fill-column=WIDTH: makeinfo options. (line 37)
5718 * --footnote-style=STYLE: makeinfo options. (line 45)
5719 * --force: makeinfo options. (line 55)
5720 * --help <1>: Invoking install-info.
5722 * --help: makeinfo options. (line 59)
5723 * --info-dir=DIR: Invoking install-info.
5725 * --info-file=FILE: Invoking install-info.
5727 * --item=TEXT: Invoking install-info.
5729 * --no-headers: makeinfo options. (line 68)
5730 * --no-number-footnotes: makeinfo options. (line 93)
5731 * --no-pointer-validate: makeinfo options. (line 81)
5732 * --no-split: makeinfo options. (line 75)
5733 * --no-validate: makeinfo options. (line 81)
5734 * --no-warn: makeinfo options. (line 87)
5735 * --output=FILE: makeinfo options. (line 99)
5736 * --paragraph-indent=INDENT: makeinfo options. (line 109)
5737 * --quiet: Invoking install-info.
5739 * --reference-limit=LIMIT: makeinfo options. (line 124)
5740 * --remove: Invoking install-info.
5742 * --section=SEC: Invoking install-info.
5744 * --verbose: makeinfo options. (line 134)
5745 * --version <1>: Invoking install-info.
5747 * --version: makeinfo options. (line 139)
5748 * -D VAR: makeinfo options. (line 28)
5749 * -I DIR: makeinfo options. (line 63)
5750 * -o FILE: makeinfo options. (line 99)
5751 * -P DIR: makeinfo options. (line 105)
5752 * .cshrc initialization file: Preparing for TeX. (line 6)
5753 * .profile initialization file: Preparing for TeX. (line 6)
5754 * /L: Inserting Accents. (line 33)
5755 * /l: Inserting Accents. (line 33)
5756 * /O: Inserting Accents. (line 33)
5757 * /o: Inserting Accents. (line 33)
5758 * ?: Inserting Accents. (line 33)
5759 * @-command in nodename: Node Line Requirements.
5761 * @-command list: Command List. (line 6)
5762 * @-command syntax: Command Syntax. (line 6)
5763 * @-commands: Formatting Commands. (line 6)
5764 * @include file sample: Sample Include File. (line 6)
5765 * @menu parts: Menu Parts. (line 6)
5766 * @node line writing: Writing a Node. (line 6)
5767 * A4 paper, printing on: A4 Paper. (line 6)
5768 * AA: Inserting Accents. (line 33)
5769 * aa: Inserting Accents. (line 33)
5770 * Abbreviations for keys: key. (line 19)
5771 * Accents, inserting: Inserting Accents. (line 6)
5772 * Acute accent: Inserting Accents. (line 13)
5773 * Adding a new info file: New Info File. (line 6)
5774 * AE: Inserting Accents. (line 33)
5775 * ae: Inserting Accents. (line 33)
5776 * Alphabetical @-command list: Command List. (line 6)
5777 * Another Info directory: Other Info Directories.
5779 * Apostrophe in nodename: Node Line Requirements.
5781 * Arguments, repeated and optional: Optional Arguments. (line 6)
5782 * Aspect ratio of images: Images. (line 16)
5783 * Automatic pointer creation with makeinfo: makeinfo Pointer Creation.
5785 * Automatically insert nodes, menus: Updating Nodes and Menus.
5787 * Backslash, and macros: Invoking Macros. (line 23)
5788 * Badly referenced nodes: Running Info-Validate.
5790 * Batch formatting for Info: Batch Formatting. (line 6)
5791 * Beginning a Texinfo file: Beginning a File. (line 6)
5792 * Beginning line of a Texinfo file: First Line. (line 6)
5793 * Berry, Karl: Acknowledgements. (line 6)
5794 * Big points: Images. (line 33)
5795 * Black rectangle in hardcopy: Overfull hboxes. (line 28)
5796 * Blank lines: sp. (line 6)
5797 * Body of a macro: Defining Macros. (line 19)
5798 * Book characteristics, printed: Printed Books. (line 6)
5799 * Book, printing small: smallbook. (line 6)
5800 * Box with rounded corners: cartouche. (line 6)
5801 * Braces and argument syntax: Command Syntax. (line 40)
5802 * Braces, inserting: Braces Atsigns. (line 6)
5803 * Braces, when to use: Formatting Commands. (line 49)
5804 * Breaks in a line: Line Breaks. (line 6)
5805 * Breve accent: Inserting Accents. (line 13)
5806 * Buffer formatting and printing: Printing. (line 6)
5807 * Bullets, inserting: Dots Bullets. (line 6)
5808 * Case in nodename: Node Line Requirements.
5810 * Catching errors with Info formatting: Debugging with Info. (line 6)
5811 * Catching errors with TeX formatting: Debugging with TeX. (line 6)
5812 * Catching mistakes: Catching Mistakes. (line 6)
5813 * Cedilla accent: Inserting Accents. (line 13)
5814 * Centimeters: Images. (line 39)
5815 * Chapter structuring: Structuring. (line 6)
5816 * Characteristics, printed books or manuals: Printed Books. (line 6)
5817 * Chassell, Robert J.: Acknowledgements. (line 6)
5818 * Check accent: Inserting Accents. (line 13)
5819 * Checking for badly referenced nodes: Running Info-Validate.
5821 * Ciceros: Images. (line 48)
5822 * Circumflex accent: Inserting Accents. (line 13)
5823 * code, arg to @kbdinputstyle: kbd. (line 24)
5824 * colon last in INFOPATH: Other Info Directories.
5826 * Column widths, defining for multitables: Multitable Column Widths.
5828 * Combining indices: Combining Indices. (line 6)
5829 * Comma in nodename: Node Line Requirements.
5831 * Command definitions: Sample Function Definition.
5833 * Commands to insert special characters: Braces Atsigns. (line 6)
5834 * Commands using raw HTML: Raw Formatter Commands.
5836 * Commands using raw TeX: Raw Formatter Commands.
5838 * Commands, inserting them: Inserting. (line 6)
5839 * Comments: Comments. (line 16)
5840 * Compile command for formatting: Compile-Command. (line 6)
5841 * Conditionally visible text: Conditionals. (line 6)
5842 * Conditions for copying Texinfo: Copying. (line 6)
5843 * Contents, Table of: Contents. (line 6)
5844 * Contents-like outline of file structure: Showing the Structure.
5846 * Conventions for writing definitions: Def Cmd Conventions. (line 6)
5847 * Conventions, syntactic: Conventions. (line 6)
5848 * Copying conditions: Copying. (line 6)
5849 * Copying permissions: Sample Permissions. (line 6)
5850 * Copying software: Software Copying Permissions.
5852 * Copyright page: Copyright & Permissions.
5854 * Correcting mistakes: Catching Mistakes. (line 6)
5855 * Create nodes, menus automatically: Updating Nodes and Menus.
5857 * Creating an Info file: Create an Info File. (line 6)
5858 * Creating an unsplit file: Unsplit. (line 6)
5859 * Creating index entries: Indexing Commands. (line 6)
5860 * Creating indices: Indices. (line 6)
5861 * Creating pointers with makeinfo: makeinfo Pointer Creation.
5863 * Cropmarks for printing: Cropmarks and Magnification.
5865 * Cross reference parts: Cross Reference Parts.
5867 * Cross references: Cross References. (line 6)
5868 * Cross references using @inforef: inforef. (line 6)
5869 * Cross references using @pxref: pxref. (line 6)
5870 * Cross references using @ref: ref. (line 6)
5871 * Cross references using @xref: xref. (line 6)
5872 * Customized highlighting: Customized Highlighting.
5874 * Customizing of TeX for Texinfo: Preparing for TeX. (line 24)
5875 * Debugging the Texinfo structure: Catching Mistakes. (line 6)
5876 * Debugging with Info formatting: Debugging with Info. (line 6)
5877 * Debugging with TeX formatting: Debugging with TeX. (line 6)
5878 * Defining indexing entries: Indexing Commands. (line 6)
5879 * Defining macros: Defining Macros. (line 6)
5880 * Defining new indices: New Indices. (line 6)
5881 * Defining new Texinfo commands: Macros. (line 6)
5882 * Definition commands: Definition Commands. (line 6)
5883 * Definition conventions: Def Cmd Conventions. (line 6)
5884 * Definition template: Def Cmd Template. (line 6)
5885 * Definitions grouped together: deffnx. (line 6)
5886 * Description for menu, start: Inserting. (line 94)
5887 * Dido^t points: Images. (line 45)
5888 * Different cross reference commands: Cross Reference Commands.
5890 * Dimension formatting: dmn. (line 6)
5891 * Dimensions and image sizes: Images. (line 23)
5892 * dir directory for Info installation: Install an Info File.
5894 * dir file listing: New Info File. (line 6)
5895 * dir, created by install-info: Invoking install-info.
5897 * Display formatting: display. (line 6)
5898 * distinct, arg to @kbdinputstyle: kbd. (line 24)
5899 * Distorting images: Images. (line 16)
5900 * Distribution: Software Copying Permissions.
5902 * Dot accent: Inserting Accents. (line 13)
5903 * Dotless i, j: Inserting Accents. (line 33)
5904 * Dots, inserting <1>: dots. (line 6)
5905 * Dots, inserting: Dots Bullets. (line 6)
5906 * Double-colon menu entries: Less Cluttered Menu Entry.
5908 * DVI file: Format with tex/texindex.
5910 * Ellipsis, inserting: Dots Bullets. (line 6)
5911 * Emacs: Texinfo Mode. (line 6)
5912 * Emacs shell, format, print from: Within Emacs. (line 6)
5913 * Emphasizing text: Emphasis. (line 6)
5914 * Emphasizing text, font for: emph & strong. (line 6)
5915 * Enclosure command for Info: Customized Highlighting.
5917 * End node footnote style: Footnote Styles. (line 9)
5918 * End of header line: End of Header. (line 6)
5919 * End titlepage starts headings: end titlepage. (line 6)
5920 * Ending a Sentence: Ending a Sentence. (line 6)
5921 * Ending a Texinfo file: Ending a File. (line 6)
5922 * Entries for an index: Indexing Commands. (line 6)
5923 * Entries, making index: Index Entries. (line 6)
5924 * Enumeration: enumerate. (line 6)
5925 * epsf.tex: Images. (line 58)
5926 * epsf.tex, installing: Preparing for TeX. (line 19)
5927 * Equivalence, indicating it: Equivalence. (line 6)
5928 * Error message, indicating it: Error Glyph. (line 6)
5929 * Errors, parsing: makeinfo in Emacs. (line 27)
5930 * Es-zet: Inserting Accents. (line 33)
5931 * European A4 paper: A4 Paper. (line 6)
5932 * Evaluation glyph: result. (line 6)
5933 * Example for a small book: smallexample & smalllisp.
5935 * Example menu: Menu Example. (line 6)
5936 * example, arg to @kbdinputstyle: kbd. (line 24)
5937 * Examples, formatting them: example. (line 6)
5938 * Expansion, indicating it: expansion. (line 6)
5939 * File beginning: Beginning a File. (line 6)
5940 * File ending: Ending a File. (line 6)
5941 * File section structure, showing it: Showing the Structure.
5943 * Filling paragraphs: Refilling Paragraphs.
5945 * Final output: Overfull hboxes. (line 6)
5946 * Finding badly referenced nodes: Running Info-Validate.
5948 * Fine-tuning, and hyphenation: - and hyphenation. (line 6)
5949 * First line of a Texinfo file: First Line. (line 6)
5950 * First node: First Node. (line 6)
5951 * Floating accents, inserting: Inserting Accents. (line 6)
5952 * Fonts for indices: syncodeindex. (line 52)
5953 * Fonts for printing, not for Info: Fonts. (line 6)
5954 * Footings: Headings. (line 6)
5955 * Footnotes: Footnotes. (line 6)
5956 * Format a dimension: dmn. (line 6)
5957 * Format and print hardcopy: Format/Print Hardcopy.
5959 * Format and print in Texinfo mode: Texinfo Mode Printing.
5961 * Format with the compile command: Compile-Command. (line 6)
5962 * Format, print from Emacs shell: Within Emacs. (line 6)
5963 * Formats for images: Images. (line 10)
5964 * Formatting a file for Info: Create an Info File. (line 6)
5965 * Formatting commands: Formatting Commands. (line 6)
5966 * Formatting examples: example. (line 6)
5967 * Formatting for Info: Info Formatting. (line 6)
5968 * Formatting for printing: Printing. (line 6)
5969 * Formatting headings and footings: Headings. (line 6)
5970 * Formatting requirements: Requirements Summary.
5972 * Formatting with tex and texindex: Format with tex/texindex.
5974 * Frequently used commands, inserting: Inserting. (line 6)
5975 * Function definitions: Sample Function Definition.
5977 * General syntactic conventions: Conventions. (line 6)
5978 * Generating menus with indices: Printing Indices & Menus.
5980 * German S: Inserting Accents. (line 33)
5981 * Globbing: Format with tex/texindex.
5983 * Glyphs: Glyphs. (line 6)
5984 * GNU Emacs: Texinfo Mode. (line 6)
5985 * GNU Emacs shell, format, print from: Within Emacs. (line 6)
5986 * Going to other Info files' nodes: Other Info Files. (line 6)
5987 * Grave accent: Inserting Accents. (line 13)
5988 * Group (hold text together vertically): group. (line 6)
5989 * Grouping two definitions together: deffnx. (line 6)
5990 * Hardcopy, printing it: Format/Print Hardcopy.
5992 * hboxes, overfull: Overfull hboxes. (line 6)
5993 * Header for Texinfo files: Header. (line 6)
5994 * Header of a Texinfo file: First Line. (line 6)
5995 * Headings: Headings. (line 6)
5996 * Headings, page, begin to appear: end titlepage. (line 6)
5997 * Height of images: Images. (line 16)
5998 * Highlighting text: Indicating. (line 6)
5999 * Highlighting, customized: Customized Highlighting.
6001 * Hints: Tips. (line 8)
6002 * Holding text together vertically: group. (line 6)
6003 * HTML commands, using ordinary: Raw Formatter Commands.
6005 * Hungariam umlaut accent: Inserting Accents. (line 13)
6006 * Hyphenation, helping TeX do: - and hyphenation. (line 6)
6007 * Hyphenation, preventing: w. (line 6)
6008 * i: Inserting Accents. (line 33)
6009 * If text conditionally visible: Conditionals. (line 6)
6010 * ifinfo permissions: ifinfo Permissions. (line 6)
6011 * Ignored before @setfilename: setfilename. (line 32)
6012 * Ignored text: Comments. (line 26)
6013 * Image formats: Images. (line 10)
6014 * Images, inserting: Images. (line 6)
6015 * Inches: Images. (line 36)
6016 * Include file requirements: Include File Requirements.
6018 * Include file sample: Sample Include File. (line 6)
6019 * Include files: Include Files. (line 6)
6020 * Include files, and section levels: Raise/lower sections.
6022 * Indentation undoing: exdent. (line 6)
6023 * Indenting paragraphs: paragraphindent. (line 6)
6024 * Index entries: Indexing Commands. (line 6)
6025 * Index entries, making: Index Entries. (line 6)
6026 * Index entry writing: Indexing Commands. (line 26)
6027 * Index font types: Indexing Commands. (line 51)
6028 * Indexing commands, predefined: Indexing Commands. (line 53)
6029 * Indexing table entries automatically: ftable vtable. (line 6)
6030 * Indicating commands, definitions, etc.: Indicating. (line 6)
6031 * Indicating evaluation: result. (line 6)
6032 * Indices: Indices. (line 6)
6033 * Indices, combining them: Combining Indices. (line 6)
6034 * Indices, defining new: New Indices. (line 6)
6035 * Indices, printing and menus: Printing Indices & Menus.
6037 * Indices, sorting: Format/Print Hardcopy.
6039 * Indices, two letter names: syncodeindex. (line 17)
6040 * Indirect subfiles: Tag and Split Files. (line 11)
6041 * Info batch formatting: Batch Formatting. (line 6)
6042 * Info file installation: Install an Info File.
6044 * Info file requires @setfilename: setfilename. (line 6)
6045 * Info file, listing new one: New Info File. (line 6)
6046 * Info file, splitting manually: Splitting. (line 6)
6047 * Info files: Info Files. (line 6)
6048 * Info formatting: Info Formatting. (line 6)
6049 * Info installed in another directory: Other Info Directories.
6051 * Info validating a large file: Using Info-validate. (line 6)
6052 * Info, creating an on-line file: Create an Info File. (line 6)
6053 * Info-directory-list: Other Info Directories.
6055 * Info; other files' nodes: Other Info Files. (line 6)
6056 * INFOPATH: Other Info Directories.
6058 * Initialization file for TeX input: Preparing for TeX. (line 6)
6059 * Insert nodes, menus automatically: Updating Nodes and Menus.
6061 * Inserting @, braces: Braces Atsigns. (line 6)
6062 * Inserting accents: Inserting Accents. (line 6)
6063 * Inserting dots <1>: dots. (line 6)
6064 * Inserting dots: Dots Bullets. (line 6)
6065 * Inserting ellipsis: Dots Bullets. (line 6)
6066 * Inserting frequently used commands: Inserting. (line 6)
6067 * Inserting space: Inserting Space. (line 6)
6068 * Inserting special characters and symbols: Insertions. (line 6)
6069 * install-info: Invoking install-info.
6071 * Installing an Info file: Install an Info File.
6073 * Installing Info in another directory: Other Info Directories.
6075 * Introduction, as part of file: Software Copying Permissions.
6077 * Invoking macros: Invoking Macros. (line 6)
6078 * Itemization: itemize. (line 6)
6079 * j: Inserting Accents. (line 33)
6080 * keyboard input: kbd. (line 6)
6081 * Keys, recommended names: key. (line 19)
6082 * Knuth, Donald: Printed Books. (line 6)
6083 * Larger or smaller pages: Cropmarks and Magnification.
6085 * Less cluttered menu entry: Less Cluttered Menu Entry.
6087 * License agreement: Software Copying Permissions.
6089 * Line breaks: Line Breaks. (line 6)
6090 * Line breaks, preventing: w. (line 6)
6091 * Line length, column widths as fraction of: Multitable Column Widths.
6093 * Line spacing: sp. (line 6)
6094 * Lisp example: Lisp Example. (line 6)
6095 * Lisp example for a small book: smallexample & smalllisp.
6097 * List of @-commands: Command List. (line 6)
6098 * Listing a new info file: New Info File. (line 6)
6099 * Lists and tables, making: Lists and Tables. (line 6)
6100 * Local variables: Compile-Command. (line 6)
6101 * Location of menus: Menu Location. (line 6)
6102 * Looking for badly referenced nodes: Running Info-Validate.
6104 * lpr (DVI print command): Print with lpr. (line 6)
6105 * Macro definitions <1>: Defining Macros. (line 6)
6106 * Macro definitions: Sample Function Definition.
6108 * Macro invocation: Invoking Macros. (line 6)
6109 * Macron accent: Inserting Accents. (line 13)
6110 * Macros: Macros. (line 6)
6111 * Macros, undefining: Defining Macros. (line 26)
6112 * Magnified printing: Cropmarks and Magnification.
6114 * mailto link: email. (line 10)
6115 * makeinfo inside Emacs: makeinfo in Emacs. (line 6)
6116 * makeinfo options: makeinfo options. (line 6)
6117 * Making a printed manual: Format/Print Hardcopy.
6119 * Making a tag table automatically: Tag and Split Files. (line 6)
6120 * Making a tag table manually: Unsplit. (line 26)
6121 * Making cross references: Cross References. (line 6)
6122 * Making line and page breaks: Breaks. (line 6)
6123 * Making lists and tables: Lists and Tables. (line 6)
6124 * Manual characteristics, printed: Printed Books. (line 6)
6125 * Marking text within a paragraph: Marking Text. (line 6)
6126 * Marking words and phrases: Marking Text. (line 6)
6127 * Master menu: The Top Node. (line 6)
6128 * Master menu parts: Master Menu Parts. (line 6)
6129 * Mathematical expressions <1>: Raw Formatter Commands.
6131 * Mathematical expressions: math. (line 6)
6132 * Menu description, start: Inserting. (line 94)
6133 * Menu entries with two colons: Less Cluttered Menu Entry.
6135 * Menu example: Menu Example. (line 6)
6136 * Menu location: Menu Location. (line 6)
6137 * Menu parts: Menu Parts. (line 6)
6138 * Menu writing: Writing a Menu. (line 6)
6139 * Menus: Menus. (line 6)
6140 * Menus generated with indices: Printing Indices & Menus.
6142 * META key: key. (line 53)
6143 * Meta-syntactic chars for arguments: Optional Arguments. (line 6)
6144 * Millimeters: Images. (line 42)
6145 * Minimal requirements for formatting: Requirements Summary.
6147 * Minimal Texinfo file (requirements): Minimum. (line 6)
6148 * Mistakes, catching: Catching Mistakes. (line 6)
6149 * Mode, using Texinfo: Texinfo Mode. (line 6)
6150 * Multiple spaces: Multiple Spaces. (line 6)
6151 * Multitable column widths: Multitable Column Widths.
6153 * Multitable rows: Multitable Rows. (line 6)
6154 * Must have in Texinfo file: Minimum. (line 6)
6155 * Mutually recursive macros: Defining Macros. (line 19)
6156 * Names for indices: syncodeindex. (line 17)
6157 * Names of index files: Format with tex/texindex.
6159 * Names recommended for keys: key. (line 19)
6160 * Naming a `Top' Node in references: Top Node Naming. (line 6)
6161 * Need space at page bottom: need. (line 6)
6162 * New index defining: New Indices. (line 6)
6163 * New info file, listing it in dir file: New Info File. (line 6)
6164 * New Texinfo commands, defining: Macros. (line 6)
6165 * Node line requirements: Node Line Requirements.
6167 * Node line writing: Writing a Node. (line 6)
6168 * Node, `Top': The Top Node. (line 6)
6169 * Node, defined: node. (line 6)
6170 * Nodename must be unique: Node Line Requirements.
6172 * Nodename, cannot contain: Node Line Requirements.
6174 * Nodes for menus are short: Menu Location. (line 6)
6175 * Nodes in other Info files: Other Info Files. (line 6)
6176 * Nodes, catching mistakes: Catching Mistakes. (line 6)
6177 * Nodes, checking for badly referenced: Running Info-Validate.
6179 * Not ending a sentence: Not Ending a Sentence.
6181 * Obtaining TeX: Obtaining TeX. (line 6)
6182 * Occurrences, listing with @occur: Using occur. (line 6)
6183 * OE: Inserting Accents. (line 33)
6184 * oe: Inserting Accents. (line 33)
6185 * Optional and repeated arguments: Optional Arguments. (line 6)
6186 * Options for makeinfo: makeinfo options. (line 6)
6187 * Ordinary HTML commands, using: Raw Formatter Commands.
6189 * Ordinary TeX commands, using: Raw Formatter Commands.
6191 * Other Info files' nodes: Other Info Files. (line 6)
6192 * Outline of file structure, showing it: Showing the Structure.
6194 * Overfull hboxes: Overfull hboxes. (line 6)
6195 * Overview of Texinfo: Overview. (line 6)
6196 * Page breaks: page. (line 6)
6197 * Page delimiter in Texinfo mode: Showing the Structure.
6199 * Page headings: Headings. (line 6)
6200 * Page numbering: Headings. (line 6)
6201 * Page sizes for books: smallbook. (line 6)
6202 * page-delimiter: Showing the Structure.
6204 * Pages, starting odd: setchapternewpage. (line 6)
6205 * Paper size, European A4: A4 Paper. (line 6)
6206 * Paragraph indentation: paragraphindent. (line 6)
6207 * Paragraph, marking text within: Marking Text. (line 6)
6208 * Parsing errors: makeinfo in Emacs. (line 27)
6209 * Part of file formatting and printing: Printing. (line 6)
6210 * Parts of a cross reference: Cross Reference Parts.
6212 * Parts of a master menu: Master Menu Parts. (line 6)
6213 * Parts of a menu: Menu Parts. (line 6)
6214 * Periods, inserting: Not Ending a Sentence.
6216 * Permissions: Sample Permissions. (line 6)
6217 * Permissions, printed: Copyright & Permissions.
6219 * Picas: Images. (line 30)
6220 * Pictures, inserting: Images. (line 6)
6221 * Pinard, Franc,ois: Acknowledgements. (line 11)
6222 * plain TeX: Raw Formatter Commands.
6224 * Point, indicating it in a buffer: Point Glyph. (line 6)
6225 * Pointer creation with makeinfo: makeinfo Pointer Creation.
6227 * Pointer validation with makeinfo: Pointer Validation. (line 6)
6228 * Points (dimension): Images. (line 27)
6229 * Predefined indexing commands: Indexing Commands. (line 53)
6230 * Predefined names for indices: syncodeindex. (line 17)
6231 * Preparing to use TeX: Preparing for TeX. (line 6)
6232 * Preventing line and page breaks: Breaks. (line 6)
6233 * Previous node of Top node: First Node. (line 25)
6234 * Print and format in Texinfo mode: Texinfo Mode Printing.
6236 * Print, format from Emacs shell: Within Emacs. (line 6)
6237 * Printed book and manual characteristics: Printed Books. (line 6)
6238 * Printed output, indicating it: Print Glyph. (line 6)
6239 * Printed permissions: Copyright & Permissions.
6241 * Printing a region or buffer: Printing. (line 6)
6242 * Printing an index: Printing Indices & Menus.
6244 * Printing cropmarks: Cropmarks and Magnification.
6246 * Problems, catching: Catching Mistakes. (line 6)
6247 * Prototype row, column widths defined by: Multitable Column Widths.
6249 * Quotations: quotation. (line 6)
6250 * Raising and lowering sections: Raise/lower sections.
6252 * Raw formatter commands: Raw Formatter Commands.
6254 * Recommended names for keys: key. (line 19)
6255 * Rectangle, ugly, black in hardcopy: Overfull hboxes. (line 28)
6256 * Recursion, mutual: Defining Macros. (line 19)
6257 * References: Cross References. (line 6)
6258 * References using @inforef: inforef. (line 6)
6259 * References using @pxref: pxref. (line 6)
6260 * References using @ref: ref. (line 6)
6261 * References using @xref: xref. (line 6)
6262 * Referring to other Info files: Other Info Files. (line 6)
6263 * Refilling paragraphs: Refilling Paragraphs.
6265 * Region formatting and printing: Printing. (line 6)
6266 * Region printing in Texinfo mode: Texinfo Mode Printing.
6268 * Repeated and optional arguments: Optional Arguments. (line 6)
6269 * Required in Texinfo file: Minimum. (line 6)
6270 * Requirements for formatting: Requirements Summary.
6272 * Requirements for include files: Include File Requirements.
6274 * Requirements for updating commands: Updating Requirements.
6276 * Result of an expression: result. (line 6)
6277 * ridt.eps: Images. (line 53)
6278 * Ring accent: Inserting Accents. (line 13)
6279 * Rows, of a multitable: Multitable Rows. (line 6)
6280 * Running an Info formatter: Info Formatting. (line 6)
6281 * Running Info-validate: Using Info-validate. (line 6)
6282 * Running makeinfo in Emacs: makeinfo in Emacs. (line 6)
6283 * Sample @include file: Sample Include File. (line 6)
6284 * Sample function definition: Sample Function Definition.
6286 * Sample Texinfo file: Short Sample. (line 6)
6287 * Sample Texinfo file, no comments: Sample Texinfo File. (line 6)
6288 * Scaled points: Images. (line 51)
6289 * Section structure of a file, showing it: Showing the Structure.
6291 * Sections, raising and lowering: Raise/lower sections.
6293 * Sentence ending punctuation: Ending a Sentence. (line 6)
6294 * Sentence non-ending punctuation: Not Ending a Sentence.
6296 * Separate footnote style: Footnote Styles. (line 20)
6297 * Sharp S: Inserting Accents. (line 33)
6298 * Shell formatting with tex and texindex: Format with tex/texindex.
6300 * Shell, format, print from: Within Emacs. (line 6)
6301 * Shell, running makeinfo in: makeinfo in Emacs. (line 6)
6302 * Short nodes for menus: Menu Location. (line 6)
6303 * Showing the section structure of a file: Showing the Structure.
6305 * Showing the structure of a file: Using texinfo-show-structure.
6307 * Site-wide Texinfo configuration file: Preparing for TeX. (line 24)
6308 * Size of printed book: smallbook. (line 6)
6309 * slanted typewriter font, for @kbd: kbd. (line 15)
6310 * Small book example: smallexample & smalllisp.
6312 * Small book size: smallbook. (line 6)
6313 * Small caps font: Smallcaps. (line 6)
6314 * Software copying permissions: Software Copying Permissions.
6316 * Sorting indices: Format/Print Hardcopy.
6318 * Spaces (blank lines): sp. (line 6)
6319 * Spacing, inserting: Inserting Space. (line 6)
6320 * Special characters, commands to insert: Braces Atsigns. (line 6)
6321 * Special insertions: Insertions. (line 6)
6322 * Special typesetting commands: Dots Bullets. (line 6)
6323 * Specifying index entries: Indexing Commands. (line 6)
6324 * Splitting an Info file manually: Splitting. (line 6)
6325 * ss: Inserting Accents. (line 33)
6326 * Stallman, Richard M.: Acknowledgements. (line 6)
6327 * Start of header line: Start of Header. (line 6)
6328 * Starting chapters: setchapternewpage. (line 6)
6329 * Structure of a file, showing it: Showing the Structure.
6331 * Structure, catching mistakes in: Catching Mistakes. (line 6)
6332 * Structuring of chapters: Structuring. (line 6)
6333 * Subsection-like commands: unnumberedsubsec appendixsubsec subheading.
6335 * Subsub commands: subsubsection. (line 6)
6336 * Syntactic conventions: Conventions. (line 6)
6337 * Syntax, optional & repeated arguments: Optional Arguments. (line 6)
6338 * tab: Multitable Rows. (line 6)
6339 * Table of contents: Contents. (line 6)
6340 * Tables and lists, making: Lists and Tables. (line 6)
6341 * Tables with indexes: ftable vtable. (line 6)
6342 * Tables, making multi-column: Multi-column Tables. (line 6)
6343 * Tables, making two-column: Two-column Tables. (line 6)
6344 * Tabs; don't use!: Conventions. (line 38)
6345 * Tag table, making automatically: Tag and Split Files. (line 6)
6346 * Tag table, making manually: Unsplit. (line 26)
6347 * Template for a definition: Def Cmd Template. (line 6)
6348 * TeX commands, using ordinary: Raw Formatter Commands.
6350 * TeX index sorting: Format/Print Hardcopy.
6352 * TeX input initialization: Preparing for TeX. (line 6)
6353 * TeX, how to obtain: Obtaining TeX. (line 6)
6354 * texi2dvi: Format with tex/texindex.
6356 * texi2dvi (shell script): Format with texi2dvi.
6358 * texindex <1>: Format with tex/texindex.
6360 * texindex: Format/Print Hardcopy.
6362 * Texinfo commands, defining new: Macros. (line 6)
6363 * Texinfo file beginning: Beginning a File. (line 6)
6364 * Texinfo file ending: Ending a File. (line 6)
6365 * Texinfo file header: Header. (line 6)
6366 * Texinfo file minimum: Minimum. (line 6)
6367 * Texinfo file section structure, showing it: Showing the Structure.
6369 * Texinfo mode: Texinfo Mode. (line 6)
6370 * Texinfo overview: Overview. (line 6)
6371 * Texinfo printed book characteristics: Printed Books. (line 6)
6372 * texinfo.cnf <1>: A4 Paper. (line 29)
6373 * texinfo.cnf: setfilename. (line 36)
6374 * texinfo.cnf installation: Preparing for TeX. (line 24)
6375 * texinfo.tex, installing: Preparing for TeX. (line 11)
6376 * TEXINPUTS: Preparing for TeX. (line 6)
6377 * TEXINPUTS environment variable: Preparing for TeX. (line 6)
6378 * Text, conditionally visible: Conditionals. (line 6)
6379 * Thin space between number, dimension: dmn. (line 6)
6380 * Tie-after accent: Inserting Accents. (line 13)
6381 * Tilde accent: Inserting Accents. (line 13)
6382 * Tips: Tips. (line 8)
6383 * Title page: titlepage. (line 6)
6384 * Titlepage end starts headings: end titlepage. (line 6)
6385 * Titlepage permissions: Titlepage Permissions.
6387 * Top node: The Top Node. (line 6)
6388 * Top node is first: First Node. (line 6)
6389 * Top node naming for references: Top Node Naming. (line 6)
6390 * Top node summary: Top Node Summary. (line 6)
6391 * Tree structuring: Tree Structuring. (line 6)
6392 * Two `First' Lines for @deffn: deffnx. (line 6)
6393 * Two letter names for indices: syncodeindex. (line 17)
6394 * Two named items for @table: itemx. (line 6)
6395 * Two part menu entry: Less Cluttered Menu Entry.
6397 * Typesetting commands for dots, etc.: Dots Bullets. (line 6)
6398 * Umlaut accent: Inserting Accents. (line 13)
6399 * Uncluttered menu entry: Less Cluttered Menu Entry.
6401 * Undefining macros: Defining Macros. (line 26)
6402 * Underbar accent: Inserting Accents. (line 13)
6403 * Underdot accent: Inserting Accents. (line 13)
6404 * Uniform resource locator, indicating: url. (line 6)
6405 * Uniform resource locator, referring to: uref. (line 6)
6406 * Unique nodename requirement: Node Line Requirements.
6408 * Unprocessed text: Comments. (line 26)
6409 * Unsplit file creation: Unsplit. (line 6)
6410 * Up node of Top node: First Node. (line 11)
6411 * Updating nodes and menus: Updating Nodes and Menus.
6413 * Updating requirements: Updating Requirements.
6415 * URL, indicating: url. (line 6)
6416 * URL, referring to: uref. (line 6)
6417 * Usage tips: Tips. (line 8)
6418 * user input: kbd. (line 15)
6419 * User options, marking: Variables Commands. (line 57)
6420 * User-defined Texinfo commands: Macros. (line 6)
6421 * Validating a large file: Using Info-validate. (line 6)
6422 * Validation of pointers: Pointer Validation. (line 6)
6423 * Value of an expression, indicating: result. (line 6)
6424 * version number, finding: Invoking install-info.
6426 * Vertical whitespace (vskip): Copyright & Permissions.
6428 * Vertically holding text together: group. (line 6)
6429 * Visibility of conditional text: Conditionals. (line 6)
6430 * Weisshaus, Melissa: Acknowledgements. (line 11)
6431 * Whitespace, inserting <1>: Multiple Spaces. (line 6)
6432 * Whitespace, inserting: Inserting Space. (line 6)
6433 * Width of images: Images. (line 16)
6434 * Widths, defining multitable column: Multitable Column Widths.
6436 * Wildcards: Format with tex/texindex.
6438 * Words and phrases, marking them: Marking Text. (line 6)
6439 * Writing a menu: Writing a Menu. (line 6)
6440 * Writing an @node line: Writing a Node. (line 6)
6441 * Writing index entries: Indexing Commands. (line 26)
6442 * Zuhn, David D.: Acknowledgements. (line 11)