TEXI2ANY(1) User Commands TEXI2ANY(1)

# [NAME](#NAME)

texi2any - translate Texinfo documents

# [SYNOPSIS](#SYNOPSIS)

**makeinfo** \[*OPTION*]... *TEXINFO-FILE*...

# [DESCRIPTION](#DESCRIPTION)

Translate Texinfo source documentation to various other formats, by default Info files suitable for reading online with Emacs or standalone GNU Info.

This program is commonly installed as both \`makeinfo' and \`texi2any'; the behavior is identical, and does not depend on the installed name.

## [General options:](#General_options:)

[**--document-language**=*STR* locale to use in translating Texinfo keywords](#document)

for the output document (default C)

[**--error-limit**=*NUM*](#error)

quit after NUM errors (default 100)

[**--force**](#force)

preserve output even if errors

[**--help**](#help)

display this help and exit

[**--no-validate**](#no)

suppress node cross-reference validation

[**--no-warn**](#no~2)

suppress warnings (but not errors)

[**--conf-dir**=*DIR*](#conf)

search also for initialization files in DIR

[**--init-file**=*FILE*](#init)

load FILE to modify the default behavior

[**-c**, **--set-customization-variable** VAR=VAL](#c)

set customization variable VAR to value VAL

[**--trace-includes**](#trace)

print names of included files

[**-v**, **--verbose**](#v)

explain what is being done

[**--version**](#version)

display version information and exit

## [Output format selection (default is to produce Info):](#Output_format_selection_%28default_is_to_produce_Info%29:)

[**--docbook**](#docbook)

output Docbook XML

[**--html**](#html)

output HTML

[**--epub3**](#epub3)

output EPUB 3

[**--latex**](#latex)

output LaTeX

[**--plaintext**](#plaintext)

output plain text rather than Info

[**--xml**](#xml)

output Texinfo XML

[**--dvi**, **--dvipdf**, **--ps**, **--pdf**](#dvi)

call texi2dvi to generate given output, after checking validity of TEXINFO-FILE

## [General output options:](#General_output_options:)

[**-E**, **--macro-expand**=*FILE*](#E)

output macro-expanded source to FILE, ignoring any @setfilename

[**--no-headers**](#no~3)

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.

[**--no-split**](#no~4)

suppress any splitting of the output; generate only one output file

**--\[no-]number-sections**

output chapter and sectioning numbers; default is on

**--\[no-]number-footnotes**

number footnotes sequentially; default is on

[**-o**, **--output**=*DEST*](#o)

output to DEST. With split output, create DEST as a directory and put the output files there. With non-split output, if DEST is already a directory or ends with a /, put the output file there. Otherwise, DEST names the output file.

[**--disable-encoding**](#disable)

do not output accented and special characters in Info and plain text output based on document encoding

[**--enable-encoding**](#enable)

override **--disable-encoding** (default)

## [Options for Info and plain text:](#Options_for_Info_and_plain_text:)

[**--fill-column**=*NUM*](#fill)

break Info lines at NUM columns (default 72)

[**--footnote-style**=*STYLE*](#footnote)

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)

[**--paragraph-indent**=*VAL*](#paragraph)

indent Info paragraphs by VAL spaces (default 3). If VAL is \`none', do not indent; if VAL is \`asis', preserve existing indentation.

[**--split-size**=*NUM*](#split)

split Info files at size NUM (default 300000)

## [Options for HTML:](#Options_for_HTML:)

[**--css-include**=*FILE*](#css)

include FILE in HTML &lt;style&gt; output; read stdin if FILE is -

[**--css-ref**=*URL*](#css~2)

generate CSS reference to URL

[**--internal-links**=*FILE*](#internal)

produce list of internal links in FILE

[**--split**=*SPLIT*](#split~2)

split at SPLIT, where SPLIT may be \`chapter', \`section' or \`node'

[**--transliterate-file-names**](#transliterate)

use file names in ASCII transliteration

[**--node-files**](#node)

produce redirection files for nodes and anchors; default is set only if split

## [Options for DVI/PS/PDF:](#Options_for_DVI/PS/PDF:)

[**--Xopt**=*OPT*](#Xopt)

pass OPT to texi2dvi; can be repeated

## [Input file options:](#Input_file_options:)

[**-D** VAR](#D)

define the variable VAR, as with @set

[**-D** 'VAR VAL'](#D~2)

define VAR to VAL (one shell argument)

[**-I** DIR](#I)

append DIR to the @include search path

[**-P** DIR](#P)

prepend DIR to the @include search path

[**-U** VAR](#U)

undefine the variable VAR, as with @clear

## [Conditional processing in input:](#Conditional_processing_in_input:)

[**--ifdocbook**](#ifdocbook)

process @ifdocbook and @docbook

[**--ifhtml**](#ifhtml)

process @ifhtml and @html

[**--ifinfo**](#ifinfo)

process @ifinfo

[**--iflatex**](#iflatex)

process @iflatex and @latex

[**--ifplaintext**](#ifplaintext)

process @ifplaintext

[**--iftex**](#iftex)

process @iftex and @tex

[**--ifxml**](#ifxml)

process @ifxml and @xml

By default, an **--ifFORMAT** setting is on only when the output format is FORMAT; for example, **--ifhtml** is on when outputting HTML. Also, when **--ifFORMAT** is on, @ifnotFORMAT text is not processed.

Each **--ifFORMAT** option may be prefixed with \`--no-' to negate it; for example, **--no-ifhtml** means not to process @ifhtml or @html text, and to process @ifnothtml text.

# [EXAMPLES](#EXAMPLES)

[makeinfo foo.texi](#makeinfo)

write Info

[makeinfo --html foo.texi](#makeinfo~2)

write HTML

[makeinfo --xml foo.texi](#makeinfo~3)

write Texinfo XML

[makeinfo --docbook foo.texi](#makeinfo~4)

write Docbook XML

[makeinfo --plaintext foo.texi](#makeinfo~5)

write plain text to standard output

[makeinfo --pdf foo.texi](#makeinfo~6)

write PDF using texi2dvi

[makeinfo --html --no-headers foo.texi](#makeinfo~7)

write html without node lines, menus

[makeinfo --number-sections foo.texi](#makeinfo~8)

write Info with numbered sections

[makeinfo --no-split foo.texi](#makeinfo~9)

write one Info file however big

# [REPORTING BUGS](#REPORTING_BUGS)

Email bug reports to bug-texinfo@gnu.org, general questions and discussion to help-texinfo@gnu.org.  
Texinfo home page: https://www.gnu.org/software/texinfo/

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later &lt;https://gnu.org/licenses/gpl.html&gt;  
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

# [SEE ALSO](#SEE_ALSO)

The full documentation for **texi2any** is maintained as a Texinfo manual. If the **info** and **texi2any** programs are properly installed at your site, the command

**info texi2any**

should give you access to the complete manual.

August 2026 GNU texinfo 7.3

---

Document: makeinfo(1) from texinfo 7.3-r8 (Chainguard OS)
Source: https://git.savannah.gnu.org/git/texinfo.git
