\input texinfo @c -*-texinfo-*- @comment %**start of header @setfilename makeinfo.info @set VERSION 1.61 @paragraphindent none @comment %**start of header @comment $Id: makeinfo.texi,v 1.1.1.1 1997/08/21 22:58:08 jason Exp $ @ifinfo @format START-INFO-DIR-ENTRY * makeinfo: (makeinfo). Making info files from texinfo files. END-INFO-DIR-ENTRY @end format @end ifinfo @dircategory Texinfo documentation system @direntry * makeinfo: (makeinfo). Convert Texinfo source to Info or plain ASCII. @end direntry @ifinfo This file is an extract from the @cite{Texinfo} manual.@* It documents Makeinfo, a program that converts Texinfo files into Info files. Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. @ignore Permission is granted to process this file through TeX and print the results, provided the printed document carries copying permission notice identical to this one except for the removal of this paragraph (this paragraph not being relevant to the printed manual). @end ignore Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. @end ifinfo @titlepage @title GNU Makeinfo @author Brian J. Fox and Robert J. Chassell @page @vskip 0pt plus 1filll Copyright @copyright{} 1992, 1993, 1994, 1995 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. @end titlepage @node Top @chapter What is @code{makeinfo}? @iftex This file documents the use of the @code{makeinfo} program, versions @value{VERSION} and later. It is an extract from the @cite{Texinfo} manual. @end iftex @code{makeinfo} is a program for converting @dfn{Texinfo} files into @dfn{Info} files. Texinfo is a documentation system that uses a single source file to produce both on-line information and printed output. You can read the on-line information using Info; type @code{info} to learn about Info. @ifinfo @xref{Top, Texinfo, Overview of Texinfo, Texinfo, Texinfo}, @end ifinfo @iftex See the @cite{Texinfo} manual, @end iftex to learn about the Texinfo documentation system. @menu * Formatting Control:: Controlling the width of lines, paragraph indentation, and other similar formatting. * Options:: Command line options which control the behaviour of Makeinfo. * Pointer Validation:: How Makeinfo can help you to track node references through complex Texinfo files. * Index:: Index of Concepts. @end menu @c Removed this for 3.8 until it's time to rewrite it. @c * The Macro Facility:: Makeinfo allows the use of @dfn{macros}. @node Formatting Control @section Controlling Paragraph Formats Without any special options, @code{makeinfo} @dfn{fills} the paragraphs that it outputs to an Info file. Filling is the process of breaking and connecting lines so that lines are the same length as or shorter than the number specified as the fill column. Lines are broken between words. With @code{makeinfo}, you can control: @itemize @bullet @item The width of each paragraph (the @dfn{fill-column}). @item The amount of indentation that the first line of each paragraph receives (the @dfn{paragraph-indentation}). @end itemize @node Options @section Command Line Options The following command line options are available for @code{makeinfo}. @need 100 @table @code @item -D @var{var} Cause @var{var} to be defined. This is equivalent to @code{@@set @var{var}} in the Texinfo file. @need 150 @item --error-limit @var{limit} Set the maximum number of errors that @code{makeinfo} will report before exiting (on the assumption that continuing would be useless). The default number of errors that can be reported before @code{makeinfo} gives up is 100.@refill @need 150 @item --fill-column @var{width} Specify the maximum number of columns in a line; this is the right-hand edge of a line. Paragraphs that are filled will be filled to this width. The default value for @code{fill-column} is 72. @refill @item --footnote-style @var{style} Set the footnote style to @var{style}, either @samp{end} for the end node style or @samp{separate} for the separate node style. The value set by this option overrides the value set in a Texinfo file by an @code{@@footnotestyle} command. When the footnote style is @samp{separate}, @code{makeinfo} makes a new node containing the footnotes found in the current node. When the footnote style is @samp{end}, @code{makeinfo} places the footnote references at the end of the current node.@refill @need 150 @item -I @var{dir} Add @code{dir} to the directory search list for finding files that are included using the @code{@@include} command. By default, @code{makeinfo} searches only the current directory. @need 150 @item --no-headers Do not include menus or node lines in the output. This results in an @sc{ascii} file that you cannot read in Info since it does not contain the requisite nodes or menus; but you can print such a file in a single, typewriter-like font and produce acceptable output. @need 150 @item --no-split Suppress the splitting stage of @code{makeinfo}. Normally, large output files (where the size is greater than 70k bytes) are split into smaller subfiles, each one approximately 50k bytes. If you specify @samp{--no-split}, @code{makeinfo} will not split up the output file.@refill @need 100 @item --no-pointer-validate @item --no-validate Suppress the pointer-validation phase of @code{makeinfo}. Normally, after a Texinfo file is processed, some consistency checks are made to ensure that cross references can be resolved, etc. @xref{Pointer Validation}.@refill @need 150 @item --no-warn Suppress the output of warning messages. This does @emph{not} suppress the output of error messages, only warnings. You might want this if the file you are creating has examples of Texinfo cross references within it, and the nodes that are referenced do not actually exist.@refill @item --no-number-footnotes Supress automatic footnote numbering. By default, @code{makeinfo} numbers each footnote sequentially in a single node, resetting the current footnote number to 1 at the start of each node. @need 150 @item --output @var{file} @itemx -o @var{file} Specify that the output should be directed to @var{file} and not to the file name specified in the @code{@@setfilename} command found in the Texinfo source. @var{file} can be the special token @samp{-}, which specifies standard output. @need 150 @item --paragraph-indent @var{indent} Set the paragraph indentation style to @var{indent}. The value set by this option overrides the value set in a Texinfo file by an @code{@@paragraphindent} command. The value of @var{indent} is interpreted as follows:@refill @itemize @bullet @item If the value of @var{indent} is @samp{asis}, do not change the existing indentation at the starts of paragraphs.@refill @item If the value of @var{indent} is zero, delete any existing indentation.@refill @item If the value of @var{indent} is greater than zero, indent each paragraph by that number of spaces.@refill @end itemize @need 100 @item --reference-limit @var{limit} Set the value of the number of references to a node that @code{makeinfo} will make without reporting a warning. If a node has more than this number of references in it, @code{makeinfo} will make the references but also report a warning.@refill @need 150 @item -U @var{var} Cause @var{var} to be undefined. This is equivalent to @code{@@clear @var{var}} in the Texinfo file. @need 100 @item --verbose Cause @code{makeinfo} to display messages saying what it is doing. Normally, @code{makeinfo} only outputs messages if there are errors or warnings.@refill @need 100 @item --version Report the version number of this copy of @code{makeinfo}.@refill @item --help Show a summary of the commend line arguments to @code{makeinfo}. @end table @node Pointer Validation @section Pointer Validation @cindex Pointer validation with @code{makeinfo} @cindex Validation of pointers If you do not suppress pointer-validation (by using the @samp{--no-pointer-validation} option), @code{makeinfo} will check the validity of the final Info file. Mostly, this means ensuring that nodes you have referenced really exist. Here is a complete list of what is checked:@refill @enumerate @item If a `Next', `Previous', or `Up' node reference is a reference to a node in the current file and is not an external reference such as to @file{(dir)}, then the referenced node must exist.@refill @item In every node, if the `Previous' node is different from the `Up' node, then the `Previous' node must also be pointed to by a `Next' node.@refill @item Every node except the `Top' node must have an `Up' pointer.@refill @item The node referenced by an `Up' pointer must contain a reference to the current node in some manner other than through a `Next' reference. This includes menu entries and cross references.@refill @item If the `Next' reference of a node is not the same as the `Next' reference of the `Up' reference, then the node referenced by the `Next' pointer must have a `Previous' pointer that points back to the current node. This rule allows the last node in a section to point to the first node of the next chapter.@refill @end enumerate @c We don't want to advertise redefining commands. @c lowersections @c include macro.texi @c raisesections @lowersections @node Index @appendix Index @printindex cp @raisesections @contents @bye