19.4.8 Other Customization Variables

This table gives the remaining customization variables, which apply to multiple formats, or affect global behavior, or otherwise don’t fit into the categories of the previous sections.

ASCII_DASHES_AND_QUOTES

For Info output, when set, use plain ASCII characters to represent quotation marks, hyphens and dashes when these are given in the Texinfo source as ‘-’, ‘--’, ‘---’, ‘`’, ‘``’, ‘'’, and ‘''’, rather than UTF-8 directional quotation marks, en dashes, vel sim. On by default.

ASCII_GLYPH

For Info output, use ASCII output for glyph commands such as the copyright sign (@copyright{}, becoming ‘(C)’), and the bullet symbol (@bullet{}, becoming ‘*’), rather than other Unicode sequences. Off by default.

ASCII_PUNCTUATION

Avoid any unncessary or gratuitious non-ASCII, UTF-8 sequences in the output. Implies both ASCII_DASHES_AND_QUOTES and ASCII_GLYPH and additionally affects the output of commands such as @samp which output quotation marks.

AUTO_MENU_DESCRIPTION_ALIGN_COLUMN

For Info output, column at which to start a menu entry description provided by @nodedescription or @nodedescriptionblock. Undefined by default, in which case 45% of the fill column value is used (see Invoking texi2any from a Shell).

AUTO_MENU_MAX_WIDTH

Maximum number of columns in a menu entry line in Info when adding a description from @nodedescription or @nodedescriptionblock. Undefined by default, in which case 10% more than the fill column value is used (see Invoking texi2any from a Shell).

CHECK_MISSING_MENU_ENTRY

When a @menu block occurs in a node, check if there is a menu entry for all subordinate nodes in the document sectioning structure. On by default.

CHECK_NORMAL_MENU_STRUCTURE

Warn if the node pointers (either explicitly or automatically set) are not consistent with the order of node menu entries. This is a more thorough structure check than that provided by CHECK_MISSING_MENU_ENTRY. Off by default.

CLOSE_QUOTE_SYMBOL

When a closing quote is needed, e.g. for @samp output, use this character; default ’ in DocBook. Undefined in the default case in HTML and set to ’ if USE_NUMERIC_ENTITY is not set, to ’ if set, and to a quote character if OUTPUT_CHARACTERS is set and the output encoding includes that character.

The default for Info is set the same as for OPEN_QUOTE_SYMBOL, except that the Unicode code is a closing quote (see below).

CLOSE_DOUBLE_QUOTE_SYMBOL

When a closing double quote is needed, for ‘@dfn’ in Info, use this character. The default for Info is set the same as for OPEN_DOUBLE_QUOTE_SYMBOL, except that the Unicode code is a closing double quote (see below).

COMMAND_LINE_ENCODING

Encoding used to decode command-line arguments. Default is based on the locale encoding. This may affect file names inserted into output files or error messages printed by the program.

Note that some file and directory names from the command line may not be decoded immediately, and may not be decoded at all.

CPP_LINE_DIRECTIVES

Recognize #line directives in a “preprocessing” pass (see External Macro Processors: Line Directives); on by default.

DEBUG

If set, debugging output is generated; default is off (zero).

DOC_ENCODING_FOR_INPUT_FILE_NAME

If set, use the input Texinfo document encoding information for the encoding of input file names, such as file names specified as @include or @verbatiminclude arguments. If unset, use the locale encoding instead. Default is set, except on MS-Windows where the locale encoding is used by default.

Note that this is for file names only; the default encoding or @documentencoding is always used for the encoding of file content (see @documentencoding enc: Set Input Encoding).

The INPUT_FILE_NAME_ENCODING variable overrides this variable.

DOC_ENCODING_FOR_OUTPUT_FILE_NAME

If set, use the input Texinfo document encoding information for the encoding of output file names, such as files specified with --output. If unset, use the locale encoding instead. Default is unset, so files names are encoded using the current locale.

Note that this is for file names only; OUTPUT_ENCODING_NAME is used for the encoding of file content.

The OUTPUT_FILE_NAME_ENCODING variable overrides this variable.

DOCTYPE

For DocBook, HTML, XML. Specifies the SystemLiteral, the entity’s system identifier. This is a URI which may be used to retrieve the entity, and identifies the canonical DTD for the document. The default value is different for each of HTML, DocBook and XML.

DUMP_TEXI

For debugging. If set, no conversion is done, only parsing and macro expansion. If the option --macro-expand is set, the Texinfo source is also expanded to the corresponding file. Default false.

DUMP_TREE

For debugging. If set, the tree constructed upon parsing a Texinfo document is output to standard error; default false.

EPUB_CREATE_CONTAINER_FILE

If set to 0, do not generate the EPUB output file. Default is set to 1.

EPUB_KEEP_CONTAINER_FOLDER

If set, keep the directory containing the directories and files needed for EPUB. The EPUB output file is a ZIP archive of this directory. Default is not defined. Set if not defined and TEST or DEBUG is set. See Container Directory and Output Files.

EXTENSION

The extension added to the output file name. The default is different for each output format.

FORMAT_MENU

If set to ‘menu’, output Texinfo menus. This is the default for Info. ‘sectiontoc’ is the default setting for HTML, where instead of the contents of @menu blocks being output, a list of subordinate sections is output in each node. If set to ‘nomenu’, do not output menus.

This variable is set to ‘nomenu’ when generating DocBook, or when --no-headers is specified.

HIGHLIGHT_SYNTAX

If set, @example blocks with language information as first argument are highlighted in the HTML output. It is also possible to specify a default for the language with HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE. Syntax highlighting requires an external program to generate the highlighted HTML. The HIGHLIGHT_SYNTAX value allows to select a specific program. The possibilities are highlight, pygments, any other value standing for source-highlight (see Code Examples Syntax Highlighting in HTML).

HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE

The default language used for syntax highlighting when there is no language information.

IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME

If set, spaces are ignored after an @-command that takes braces. Default true, matching the TeX behavior.

INDEX_SPECIAL_CHARS_WARNING

If set, warn about ‘:’ in index entry, as not all Info readers may be able to process these. For Info and plaintext only. Default false, because parsing problems there don’t prevent navigation; readers can still relatively easily find their way to the node in question.

INFO_SPECIAL_CHARS_QUOTE

If set, whenever there are problematic characters for Info output in places such as node names or menu items, surround the part of the construct where they appear with quoting characters, as described in Info Format Specification. Default is set for Info and unset for plaintext. See @node Line Requirements.

INFO_SPECIAL_CHARS_WARNING

If set, warn about problematic constructs for Info output (such as the string ‘::’) in node names, menu items, and cross-references. If not defined, set unless INFO_SPECIAL_CHARS_QUOTE is set. Default is set for Info and not defined for plaintext. Similar warnings in index entries are covered by INDEX_SPECIAL_CHARS_WARNING.

INPUT_FILE_NAME_ENCODING

Encoding used for input file names. This variable overrides any encoding from the document or current locale. Normally, you do not need to set this variable, but it can be used if file names are in a certain character encoding on a filesystem. An alternative is to set DOC_ENCODING_FOR_INPUT_FILE_NAME to ‘0’ to use the locale encoding. See also OUTPUT_FILE_NAME_ENCODING.

LOCALE_ENCODING

Locale encoding obtained from the system. You should not need to explicitly set this variable.

MAX_MACRO_CALL_NESTING

The maximal number of recursive calls of @-commands defined through @rmacro; default 100000. The purpose of this variable is to avoid infinite recursions.

MESSAGE_ENCODING

Encoding used to encode messages output by texi2any. Default is based on the locale encoding.

It is also used for command-line argument passed to commands called from texi2any. For example, latex2html will be called from texi2any if HTML_MATH is set to ‘l2h’.

NO_TOP_NODE_OUTPUT

If set do not output the Top node content. The Top node is still parsed, but the content is discarded. Not set in the default case for HTML. Set in the default case for EPUB. If SHOW_TITLE is ‘undef’, setting NO_TOP_NODE_OUTPUT also sets SHOW_TITLE for HTML.

Setting NO_TOP_NODE_OUTPUT, which removes the Top node and adds a title page corresponds more to the formatting of a book. Setting NO_TOP_NODE_OUTPUT to false, with SHOW_TITLE remaining ‘undef’, and false, corresponds more to a document setup for browsing, with a direct access to the information at the Top node.

For DocBook, NO_TOP_NODE_OUTPUT is set to true. Setting NO_TOP_NODE_OUTPUT to false causes the Top node content to be output. It is not recommended to output the Top node in DocBook as the title and copying informations are always output. This option is kept for DocBook for compatibility, as before 2022 the Top node was output in DocBook. It could be removed in the future.

NO_USE_SETFILENAME

If set, do not use @setfilename to set the document name; instead, base the output document name only on the input file name. The default is false.

NODE_NAME_IN_MENU

If set, use node names in menu entries, otherwise prefer section names; default true.

OPEN_QUOTE_SYMBOL

When an opening quote is needed, e.g., for ‘@samp’ output, use the specified character; default ‘ for DocBook. Undefined in the default case in HTML and set to ‘ if USE_NUMERIC_ENTITY is not set, to ’ if set, and to a quote character if OUTPUT_CHARACTERS is set and the output encoding includes that character.

For Info, the default depends on the enabled document encoding. If --disable-encoding is set or the document encoding is not UTF-8, ‘'’ is used. This character usually appears as an undirected single quote on modern systems. Otherwise, the Info output uses a Unicode left quote.

OPEN_DOUBLE_QUOTE_SYMBOL

When an opening double quote is needed, for ‘@dfn’ output in Info, use the specified character. If --disable-encoding is set or the document encoding is not UTF-8, ‘"’ is used. Otherwise, the Info output uses a Unicode left double quote.

OUTPUT_CHARACTERS

If not set, the default, output accented and special characters in HTML, XML and DocBook using XML entities, and in LaTeX using macros. If set, output accented characters in HTML, XML, DocBook and LaTeX output and special characters in HTML and LaTeX output based on the document encoding. See @documentencoding enc: Set Input Encoding, and Inserting Accents.

OUTPUT_ENCODING_NAME

Normalized encoding name used for output files. Should be a usable charset name in HTML, typically one of the preferred IANA encoding names. By default, if an input encoding is set (typically through @documentencoding), this information is used to set the output encoding name, otherwise the output encoding is based on the default encoding. See @documentencoding enc: Set Input Encoding.

OUTPUT_FILE_NAME_ENCODING

Encoding used for output file names. This variable overrides any encoding from the document or current locale.

Normally, you do not need to set this variable, but it can be used if file names should be created in a certain character encoding on a filesystem. See also INPUT_FILE_NAME_ENCODING.

PACKAGE
PACKAGE_VERSION
PACKAGE_AND_VERSION
PACKAGE_URL
PACKAGE_NAME

The implementation’s short package name, package version, package name and version concatenated, package URL, and full package name, respectively. By default, these variables are all set through Autoconf, Automake, and configure.

PREFIX

The output file prefix, which is prepended to some output file names. By default it is set by @setfilename or from the input file (see Setting the Output File Name). How this value is used depends on the value of other customization variables or command line options, such as whether the output is split. The default is unset.

PROGRAM

Name of the program used. By default, it is set to the name of the program launched, with a trailing ‘.pl’ removed.

SORT_ELEMENT_COUNT

If set, the name of a file to which a list of elements (nodes or sections, depending on the output format) is dumped, sorted by the number of lines they contain after removal of @-commands; default unset. This is used by the program texi-elements-by-size in the util/ directory of the Texinfo source distribution (see texi-elements-by-size).

SORT_ELEMENT_COUNT_WORDS

When dumping the elements-by-size file (see preceding item), use word counts instead of line counts; default false.

TEST

If set to true, some variables which are normally dynamically generated anew for each run (date, program name, version) are set to fixed and given values. This is useful to compare the output to a reference file, as is done for the tests. The default is false.

TEXI2DVI

Name of the command used to produce PostScript, PDF, and DVI; default ‘texi2dvi’. See texi2any Printed Output.

TEXI2HTML

Generate HTML and try to be as compatible as possible with texi2html; default false.

TEXINFO_DTD_VERSION

For XML. Version of the DTD used in the XML output preamble. The default is set based on a variable in configure.ac.

TEXTCONTENT_COMMENT

For stripped text content output (i.e., when TEXINFO_OUTPUT_FORMAT is set to textcontent). If set, also output comments. Default false.

TOP_NODE_UP

Up node for the Top node; default ‘(dir)’. This node name is supposed to be already formatted for the output format. In HTML can be used in attribute, so should not contain any element. Used for HTML output only if TOP_NODE_UP_URL is set to override the URL, see TOP_NODE_UP_URL in HTML Customization Variables.

TREE_TRANSFORMATIONS

The associated value is a comma separated list of transformations that can be applied to the Texinfo tree prior to outputting the result. If more than one is specified, the ordering is irrelevant; each is always applied at the necessary point during processing.

By default, the tree transformations ‘move_index_entries_after_items’ and ‘relate_index_entries_to_table_entries’ are executed for HTML and DocBook output. Here’s an example of updating the master menu in a document:

texi2any \
  -c TREE_TRANSFORMATIONS=regenerate_master_menu \
  -c TEXINFO_OUTPUT_FORMAT=plaintexinfo \
  mydoc.texi \
  -o /tmp/out

(Caveat: Since ‘plaintexinfo’ output expands Texinfo macros and conditionals, it’s necessary to remove any such differences before installing the updates in the original document. This may be remedied in a future release.)

The following transformations are currently supported (many are used in the pod2texi utility distributed with Texinfo; see Invoking pod2texi: Convert Pod to Texinfo):

complete_tree_nodes_menus

Add menu entries or whole menus for nodes associated with sections of any level, based on the sectioning tree.

complete_tree_nodes_missing_menu

Add whole menus for nodes associated with sections without menu. The menus are based on the sectioning tree.

fill_gaps_in_sectioning

Adds empty @unnumbered... sections in a tree to fill gaps in sectioning. For example, an @unnumberedsec will be inserted if a @chapter is followed by a @subsection.

insert_nodes_for_sectioning_commands

Insert nodes for sectioning commands lacking a corresponding node.

move_index_entries_after_items

In @enumerate and @itemize, move index entries appearing just before an @item to just after the @item. Comment lines between index entries are moved too. As mentioned, this is always done for HTML and DocBook output.

regenerate_master_menu

Update the Top node master menu, either replacing the (first) @detailmenu in the Top node menu, or creating it at the end of the Top node menu.

relate_index_entries_to_table_entries

In @table, @vtable and @ftable, reassociate the index entry information from an index @-command appearing right after an @item line with the first element of the @item. Remove the index @-command from the tree.

simple_menu

Mostly the same as SIMPLE_MENU: use a simple preformatted style for the menu. It differs from setting SIMPLE_MENU in that SIMPLE_MENU only has an effect in HTML output.

USE_NODES

Preferentially use nodes to decide where elements are separated. If set to false, preferentially use sectioning to decide where elements are separated. The default is true.

USE_NUMERIC_ENTITY

For HTML, XML and DocBook. If set, use numeric entities instead of named entities. By default, set to true for DocBook output.

USE_UP_NODE_FOR_ELEMENT_UP

Fill in up sectioning direction with node direction when there is no sectioning up direction. In practice this can only happen when there is no @top section. Not set by default.

USE_SETFILENAME_EXTENSION

Default is on for Info, off for other output. If set, use exactly what @setfilename gives for the output file name, including the extension. You should not need to explicitly set this variable.

USE_UNIDECODE

If set to false, do not use the Text::Unidecode Perl module to transliterate more characters; default true.