Next: Environment Variables Recognized by texi2any
, Up: texi2any
: The Generic Translator for Texinfo [Contents][Index]
texi2any
/makeinfo
from a ShellTo process a Texinfo file, invoke texi2any
or
makeinfo
(the two names are synonyms for the same program;
we’ll use the names interchangeably) followed by the name of the
Texinfo file. Also select the format you want to output with the
appropriate command line option (default is Info). Thus, to create
the Info file for Bison, type the following to the shell:
texi2any --info bison.texinfo
You can specify more than one input file name; each is processed in turn. If an input file name is ‘-’, standard input is read.
The texi2any
program accepts many options. Perhaps the
most basic are those that change the output format. By default,
texi2any
outputs Info.
Each command line option is either a long name preceded by ‘--’ or a single letter preceded by ‘-’. You can use abbreviations for the long option names as long as they are unique.
For example, you could use the following shell command to create an Info file for bison.texinfo in which lines are filled to only 68 columns:
texi2any --fill-column=68 bison.texinfo
You can write two or more options in sequence, like this:
texi2any --no-split --fill-column=70 …
(This would keep the Info file together as one possibly very long file and would also set the fill column to 70.)
The options are (approximately in alphabetical order):
--commands-in-node-names
¶This option now does nothing, but remains for compatibility. (It used
to ensure that @-commands in node names were expanded throughout the
document, especially @value
. This is now done by default.)
--conf-dir=dir
¶Prepend dir to the directory search list for finding customization files that may be loaded with --init-file (see below). The dir value can be a single directory, or a list of several directories separated by the usual path separator character (‘:’ on Unix-like systems, ‘;’ on Windows).
--css-include=file
¶When producing HTML, literally include the contents of file, which should contain W3C cascading style sheets specifications, in the ‘<style>’ block of the HTML output. If file is ‘-’, read standard input. See HTML CSS.
--css-ref=url
¶When producing HTML, add a ‘<link>’ tag to the output which references a cascading style sheet at url. This allows using standalone style sheets.
-D var
¶-D 'var value'
Cause the Texinfo variable var to be defined. This is
equivalent to @set var
in the Texinfo file
(see Flags: @set
, @clear
, conditionals, and @value
).
The argument to the option is always one word to the shell; if it
contains internal whitespace, the first word is taken as the variable
name and the remainder as the value. For example, -D 'myvar
someval'
is equivalent to @set myvar someval
.
--disable-encoding
¶--enable-encoding
By default, or with --enable-encoding, output accented and
special characters in Info and plain text output based on
‘@documentencoding’. With --disable-encoding, 7-bit
ASCII transliterations are output. See @documentencoding enc
: Set Input Encoding,
and Inserting Accents.
--docbook
¶Generate DocBook output (rather than Info).
--document-language=lang
¶Use lang to translate Texinfo keywords which end up in the
output document. The default is the locale specified by the
@documentlanguage
command if there is one, otherwise English
(see @documentlanguage ll[_cc]
: Set the Document Language).
--dvi
¶Generate a TeX DVI file using texi2dvi
, rather than Info
(see texi2any
Printed Output).
--dvipdf
¶Generate a PDF file using texi2dvi --dvipdf
, rather than
Info (see texi2any
Printed Output).
--error-limit=limit
¶-e limit
Report limit errors before aborting (on the assumption that continuing would be useless); default 100.
--fill-column=width
¶-f 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. (Filling is the process of breaking up 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.) The default value is 72.
--footnote-style=style
¶-s style
Set the footnote style to style: either ‘end’ for the end
node style (the default) or ‘separate’ for the separate node
style. The value set by this option overrides the value set in a
Texinfo file by a @footnotestyle
command (see Footnote Styles).
When the footnote style is ‘separate’, makeinfo
makes a
new node containing the footnotes found in the current node. When the
footnote style is ‘end’, makeinfo
places the footnote
references at the end of the current node.
In HTML, when the footnote style is ‘end’, or if the output is not split, footnotes are put at the end of the output. If set to ‘separate’, and the output is split, they are placed in a separate file.
--force
¶-F
Ordinarily, if the input file has errors, the output files are not created. With this option, they are preserved.
--help
¶-h
Print a message with available options and basic usage, then exit successfully.
--html
¶Generate HTML output (rather than Info). By default, the HTML output is split into one output file per Texinfo source node, and the split output is written into a subdirectory based on the name of the top-level Info file. See Generating HTML.
-I dir
¶Append dir to the directory search list for finding files that
are included using the @include
command. By default,
texi2any
searches only the current directory. If dir is
not given, the current directory is appended. The dir value
can be a single directory or a list of several directories separated
by the usual path separator character (‘:’ on Unix-like systems,
‘;’ on Windows).
--ifdocbook
¶--ifhtml
--ifinfo
--ifplaintext
--iftex
--ifxml
For the given format, process ‘@ifformat’ and ‘@format’ commands, and do not process ‘@ifnotformat’, regardless of the format being output. For instance, if --iftex is given, then ‘@iftex’ and ‘@tex’ blocks will be read, and ‘@ifnottex’ blocks will be ignored.
--info
¶Generate Info output. By default, if the output file contains more
than about 300,000 bytes, it is split into shorter subfiles of about
that size. The name of the output file and any subfiles is determined
by @setfilename
(see @setfilename
: Set the Output File Name). See Tag Files and Split Files.
--init-file=file
¶Load file as code to modify the behavior and output of the
generated manual. It is customary to use the .pm
or the
.init
extensions for these customization files, but that is not
enforced; the file name can be anything. The
--conf-dir option (see above) can be used to add to the list
of directories in which these customization files are searched for.
--internal-links=file
¶In HTML mode, output a tab-separated file containing three columns: the internal link to an indexed item or item in the table of contents, the name of the index (or table of contents) in which it occurs, and the term which was indexed or entered. The items are in the natural sorting order for the given element. This dump can be useful for post-processors.
--macro-expand=file
¶-E file
Output the Texinfo source, with all Texinfo macros expanded, to
file. Normally, the result of macro expansion is used
internally by makeinfo
and then discarded.
--no-headers
¶Do not include menus or node separator lines in the output.
When generating Info, this is the same as using --plaintext,
resulting in a simple plain text file. Furthermore,
@setfilename
is ignored, and output is to standard output
unless overridden with -o. (This behavior is for backward
compatibility.)
When generating HTML, and output is split, also output navigation links only at the beginning of each file. If output is not split, do not include navigation links at the top of each node at all. See Generating HTML.
--no-ifdocbook
¶--no-ifhtml
--no-ifinfo
--no-ifplaintext
--no-iftex
--no-ifxml
For the given format, do not process ‘@ifformat’ and ‘@format’ commands, and do process ‘@ifnotformat’, regardless of the format being output. For instance, if --no-ifhtml is given, then ‘@ifhtml’ and ‘@html’ blocks will not be read, and ‘@ifnothtml’ blocks will be.
--no-node-files
¶--node-files
When generating HTML, create redirection files for anchors and any nodes not already output with the file name corresponding to the node name (see HTML Cross-reference Node Name Expansion). This makes it possible for section- and chapter-level cross-manual references to succeed (see HTML Cross-reference Configuration: htmlxref.cnf).
If the output is split, this is enabled by default. If the output is not split, --node-files enables the creation of the redirection files, in addition to the monolithic main output file. --no-node-files suppresses the creation of redirection files in any case. This option has no effect with any output format other than HTML. See Generating HTML.
--no-number-footnotes
¶--number-footnotes
Suppress automatic footnote numbering. By default, footnotes are numbered sequentially within a node, i.e., the current footnote number is reset to 1 at the start of each node.
--no-number-sections
¶--number-sections
With --number_sections (the default), output chapter,
section, and appendix numbers as in printed manuals. This works only
with hierarchically structured manuals. You should specify
--no-number-sections
if your manual is not normally structured.
--no-validate
¶--no-pointer-validate
Suppress the pointer-validation phase of makeinfo
—a dangerous
thing to do. This can also be done with the @novalidate
command (see Formatting Partial Documents).
If you do not suppress pointer validation, makeinfo
will check the
validity of cross-references and menu entries in the Texinfo file, as
well as node pointers if they are given explicitly.
--no-warn
¶Suppress warning messages (but not error messages).
--output=file
¶-o file
Specify that the output should be directed to file. This
overrides any file name specified in a @setfilename
command
found in the Texinfo source. If neither @setfilename
nor this
option are specified, the input file name is used to determine the
output name. See @setfilename
: Set the Output File Name.
If file is ‘-’, output goes to standard output and ‘--no-split’ is implied.
If file is a directory or ends with a ‘/’ the usual rules
are used to determine the output file name (namely, use
@setfilename
or the input file name) but the files are written
to the file directory. For example, ‘makeinfo -o bar/
foo.texi’, with or without --no-split, will write
bar/foo.info, and possibly other files, under bar/.
When generating HTML and output is split, file is used as the name for the directory into which all files are written. For example, ‘makeinfo -o bar --html foo.texi’ will write bar/index.html, among other files.
--output-indent=val
¶This option now does nothing, but remains for compatibility. (It used to alter indentation in XML/DocBook output.)
-P path
¶Prepend path to the directory search list for @include
.
If path is not given, the current directory is prepended. See
‘-I’ above.
--paragraph-indent=indent
¶-p indent
Set the paragraph indentation style to indent. The value set by
this option overrides the value set in a Texinfo file by an
@paragraphindent
command (see @paragraphindent
: Controlling Paragraph Indentation).
The value of indent is interpreted as follows:
Preserve any existing indentation (or lack thereof) at the beginnings of paragraphs.
Delete any existing indentation.
Indent each paragraph by num spaces.
The default is to indent by two spaces, except for paragraphs following a section heading, which are not indented.
--pdf
¶Generate a PDF file using texi2dvi --pdf
, rather than Info
(see texi2any
Printed Output).
--plaintext
¶Output a plain text file (rather than Info): do not include menus or node separator lines in the output. This results in a straightforward plain text file that you can (for example) send in email without complications, or include in a distribution (for example, an INSTALL file).
With this option, @setfilename
is ignored and the output goes
to standard output by default; this can be overridden with -o.
--ps
¶Generate a PostScript file using texi2dvi --ps
, rather than
Info (see texi2any
Printed Output).
--set-customization-variable var=value
¶-c var=value
Set the customization variable var to value. The =
is optional, but both var and value must be quoted to the
shell as necessary so the result is a single word. Many aspects of
texi2any
behavior and output may be controlled by
customization variables, beyond what can be set in the document by
@-commands and with other command line switches. See Customization Variables.
--split=how
¶--no-split
When generating Info, by default large output files are split into smaller subfiles, of approximately 300k bytes. When generating HTML, by default each output file contains one node (see Generating HTML). --no-split suppresses this splitting of the output.
Alternatively, --split=how may be used to specify at which level the HTML output should be split. The possible values for how are:
The output is split at @chapter
and other sectioning
@-commands at this level (@appendix
, etc.).
The output is split at @section
and similar.
The output is split at every node. This is the default.
Plain text output can be split similarly to HTML. This may be useful for extracting sections from a Texinfo document and making them available as separate files.
--split-size=num
¶Keep Info files to at most num characters if possible; default is 300,000. (However, a single node will never be split across Info files.)
--transliterate-file-names
¶Enable transliteration of 8-bit characters in node names for the purpose of file name creation. See HTML Cross-reference 8-bit Character Expansion.
-U var
Cause var to be undefined. This is equivalent to @clear
var
in the Texinfo file (see Flags: @set
, @clear
, conditionals, and @value
).
--verbose
¶Cause makeinfo
to display messages saying what it is doing.
Normally, makeinfo
only outputs messages if there are errors or
warnings.
--version
¶-V
Print the version number, then exit successfully.
--Xopt str
¶Pass str (a single shell word) to texi2dvi
; may be
repeated (see texi2any
Printed Output).
--xml
¶Generate Texinfo XML output (rather than Info).