.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.46.4.
.TH TEXI2ANY "1" "February 2016" "texi2any 6.1" "User Commands"
.SH NAME
texi2any \- translate Texinfo documents
.SH SYNOPSIS
.B makeinfo
[\fI\,OPTION\/\fR]... \fI\,TEXINFO-FILE\/\fR...
.SH DESCRIPTION
Translate Texinfo source documentation to various other formats, by default
Info files suitable for reading online with Emacs or standalone GNU Info.
.PP
This program is commonly installed as both `makeinfo' and `texi2any';
the behavior is identical, and does not depend on the installed name.
.SS "General options:"
.TP
\fB\-\-document\-language\fR=\fI\,STR\/\fR locale to use in translating Texinfo keywords
for the output document (default C).
.TP
\fB\-\-error\-limit\fR=\fI\,NUM\/\fR
quit after NUM errors (default 100).
.TP
\fB\-\-force\fR
preserve output even if errors.
.TP
\fB\-\-help\fR
display this help and exit.
.TP
\fB\-\-no\-validate\fR
suppress node cross\-reference validation.
.TP
\fB\-\-no\-warn\fR
suppress warnings (but not errors).
.TP
\fB\-\-conf\-dir\fR=\fI\,DIR\/\fR
search also for initialization files in DIR.
.TP
\fB\-\-init\-file\fR=\fI\,FILE\/\fR
load FILE to modify the default behavior.
.TP
\fB\-c\fR, \fB\-\-set\-customization\-variable\fR VAR=VAL
set customization variable VAR
to value VAL.
.TP
\fB\-v\fR, \fB\-\-verbose\fR
explain what is being done.
.TP
\fB\-\-version\fR
display version information and exit.
.SS "Output format selection (default is to produce Info):"
.TP
\fB\-\-docbook\fR
output Docbook XML rather than Info.
.TP
\fB\-\-html\fR
output HTML rather than Info.
.TP
\fB\-\-plaintext\fR
output plain text rather than Info.
.TP
\fB\-\-xml\fR
output Texinfo XML rather than Info.
.TP
\fB\-\-dvi\fR, \fB\-\-dvipdf\fR, \fB\-\-ps\fR, \fB\-\-pdf\fR
call texi2dvi to generate given output,
after checking validity of TEXINFO\-FILE.
.SS "General output options:"
.TP
\fB\-E\fR, \fB\-\-macro\-expand\fR=\fI\,FILE\/\fR
output macro\-expanded source to FILE,
ignoring any @setfilename.
.TP
\fB\-\-no\-headers\fR
suppress node separators, Node: lines, and menus
from Info output (thus producing plain text)
or from HTML (thus producing shorter output).
Also, if producing Info, write to
standard output by default.
.TP
\fB\-\-no\-split\fR
suppress any splitting of the output;
generate only one output file.
.TP
\fB\-\-[no\-]number\-sections\fR
output chapter and sectioning numbers;
default is on.
.TP
\fB\-o\fR, \fB\-\-output\fR=\fI\,DEST\/\fR
output to DEST.
With split output, create DEST as a directory
.TP
and put the output files there.
With non\-split output, if DEST is already
.TP
a directory or ends with a /,
put the output file there.
.IP
Otherwise, DEST names the output file.
.SS "Options for Info and plain text:"
.TP
\fB\-\-disable\-encoding\fR
do not output accented and special characters
in Info output based on @documentencoding.
.TP
\fB\-\-enable\-encoding\fR
override \fB\-\-disable\-encoding\fR (default).
.TP
\fB\-\-fill\-column\fR=\fI\,NUM\/\fR
break Info lines at NUM characters (default 72).
.TP
\fB\-\-footnote\-style\fR=\fI\,STYLE\/\fR
output footnotes in Info according to STYLE:
`separate' to put them in their own node;
`end' to put them at the end of the node, in
which they are defined (this is the default).
.TP
\fB\-\-paragraph\-indent\fR=\fI\,VAL\/\fR
indent Info paragraphs by VAL spaces (default 3).
If VAL is `none', do not indent; if VAL is
`asis', preserve existing indentation.
.TP
\fB\-\-split\-size\fR=\fI\,NUM\/\fR
split Info files at size NUM (default 300000).
.SS "Options for HTML:"
.TP
\fB\-\-css\-include\fR=\fI\,FILE\/\fR
include FILE in HTML <style> output;
read stdin if FILE is \-.
.TP
\fB\-\-css\-ref\fR=\fI\,URL\/\fR
generate CSS reference to URL.
.TP
\fB\-\-internal\-links\fR=\fI\,FILE\/\fR
produce list of internal links in FILE.
.TP
\fB\-\-split\fR=\fI\,SPLIT\/\fR
split at SPLIT, where SPLIT may be `chapter',
`section' or `node'.
.TP
\fB\-\-transliterate\-file\-names\fR
use file names in ASCII transliteration.
.TP
\fB\-\-node\-files\fR
produce redirection files for nodes and
anchors; default is set only if split.
.SS "Options for XML and Docbook:"
.TP
\fB\-\-output\-indent\fR=\fI\,VAL\/\fR
does nothing, retained for compatibility.
.SS "Options for DVI/PS/PDF:"
.TP
\fB\-\-Xopt\fR=\fI\,OPT\/\fR
pass OPT to texi2dvi; can be repeated.
.SS "Input file options:"
.TP
\fB\-\-commands\-in\-node\-names\fR
does nothing, retained for compatibility.
.TP
\fB\-D\fR VAR
define the variable VAR, as with @set.
.TP
\fB\-D\fR 'VAR VAL'
define VAR to VAL (one shell argument).
.TP
\fB\-I\fR DIR
append DIR to the @include search path.
.TP
\fB\-P\fR DIR
prepend DIR to the @include search path.
.TP
\fB\-U\fR VAR
undefine the variable VAR, as with @clear.
.SS "Conditional processing in input:"
.TP
\fB\-\-ifdocbook\fR
process @ifdocbook and @docbook even if
not generating Docbook.
.TP
\fB\-\-ifhtml\fR
process @ifhtml and @html even if not generating HTML.
.TP
\fB\-\-ifinfo\fR
process @ifinfo even if not generating Info.
.TP
\fB\-\-ifplaintext\fR
process @ifplaintext even if not generating plain text.
.TP
\fB\-\-iftex\fR
process @iftex and @tex.
.TP
\fB\-\-ifxml\fR
process @ifxml and @xml.
.TP
\fB\-\-no\-ifdocbook\fR
do not process @ifdocbook and @docbook text.
.TP
\fB\-\-no\-ifhtml\fR
do not process @ifhtml and @html text.
.TP
\fB\-\-no\-ifinfo\fR
do not process @ifinfo text.
.TP
\fB\-\-no\-ifplaintext\fR
do not process @ifplaintext text.
.TP
\fB\-\-no\-iftex\fR
do not process @iftex and @tex text.
.TP
\fB\-\-no\-ifxml\fR
do not process @ifxml and @xml text.
.P
Also, for the \fB\-\-no\-ifFORMAT\fR options, do process @ifnotFORMAT text.
.P
The defaults for the @if... conditionals depend on the output format:
if generating Docbook, \fB\-\-ifdocbook\fR is on and the others are off;
if generating HTML, \fB\-\-ifhtml\fR is on and the others are off;
if generating Info, \fB\-\-ifinfo\fR is on and the others are off;
if generating plain text, \fB\-\-ifplaintext\fR is on and the others are off;
if generating XML, \fB\-\-ifxml\fR is on and the others are off.
.SH EXAMPLES
.TP
makeinfo foo.texi
write Info to foo's @setfilename
.TP
makeinfo \-\-html foo.texi
write HTML to @setfilename
.TP
makeinfo \-\-xml foo.texi
write Texinfo XML to @setfilename
.TP
makeinfo \-\-docbook foo.texi
write Docbook XML to @setfilename
.TP
makeinfo \-\-plaintext foo.texi
write plain text to standard output
.TP
makeinfo \-\-pdf foo.texi
write PDF using texi2dvi
.TP
makeinfo \-\-html \-\-no\-headers foo.texi
write html without node lines, menus
.TP
makeinfo \-\-number\-sections foo.texi
write Info with numbered sections
.TP
makeinfo \-\-no\-split foo.texi
write one Info file however big
.SH "REPORTING BUGS"
Email bug reports to bug\-texinfo@gnu.org,
general questions and discussion to help\-texinfo@gnu.org.
.br
Texinfo home page: http://www.gnu.org/software/texinfo/
.SH COPYRIGHT
Copyright \(co 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
.br
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
.SH "SEE ALSO"
The full documentation for
.B texi2any
is maintained as a Texinfo manual.  If the
.B info
and
.B texi2any
programs are properly installed at your site, the command
.IP
.B info texi2any
.PP
should give you access to the complete manual.
