blob: 39631e1d363099ccdda389e7860938e4186f9983 [file] [log] [blame]
# Copyright 2010-2026 Free Software Foundation, Inc.
#
# This file is part of GNU Texinfo.
#
# GNU Texinfo is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License,
# or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# this information is used to setup both the XS options
# and the perl main program and converters options.
# format is:
# option_name category default_value type
# undef is special for default_value, it means undefined. What undefined
# actually means depends on the variable. In could mean
# * unset/false/empty string
# * set to the default value, when an unset value does not make sense
# By chance, there is no space in default values for now, and therefore
# no need for quoting/escaping.
# Parser only options
IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME parser 1 integer
# handle cpp like synchronization lines
CPP_LINE_DIRECTIVES parser 1 integer
# max number of nested macro calls
MAX_MACRO_CALL_NESTING parser 100000 integer
# if set, do not record index entries and ignore index related @-commands
NO_INDEX parser 0 integer
# if set, ignore @*macro, @def*index, @alias and @definfoenclose
NO_USER_COMMANDS parser 0 integer
# @-commands that can be used multiple time in a document and default
# values.
# also used in util/txicustomvars
allowcodebreaks multiple_at_command true char
codequotebacktick multiple_at_command off char
codequoteundirected multiple_at_command off char
contents multiple_at_command 0 integer
deftypefnnewline multiple_at_command off char
documentencoding multiple_at_command utf-8 char
# Documented as en, but no @documentlanguage
# really means that the language is not set.
# --document-language
documentlanguage multiple_at_command undef char
evenfooting multiple_at_command undef char
evenheading multiple_at_command undef char
everyfooting multiple_at_command undef char
everyheading multiple_at_command undef char
# is N ems in TeX, 0.4 in. Can be asis or a number
exampleindent multiple_at_command 5 char
firstparagraphindent multiple_at_command none char
frenchspacing multiple_at_command off char
headings multiple_at_command on char
kbdinputstyle multiple_at_command distinct char
microtype multiple_at_command undef char
oddheading multiple_at_command undef char
oddfooting multiple_at_command undef char
paragraphindent multiple_at_command 3 char
shortcontents multiple_at_command 0 integer
summarycontents multiple_at_command 0 integer
urefbreakstyle multiple_at_command after char
xrefautomaticsectiontitle multiple_at_command off char
# @-commands that should be unique.
# also used in util/txicustomvars
afivepaper unique_at_command undef char
afourpaper unique_at_command undef char
afourlatex unique_at_command undef char
afourwide unique_at_command undef char
bsixpaper unique_at_command undef char
# when passed through a customization variable, documentdescription
# should be already formatted for HTML. There is no default,
# what is determined to be the title is used if not set.
documentdescription unique_at_command undef char
evenfootingmarks unique_at_command undef char
evenheadingmarks unique_at_command undef char
everyfootingmarks unique_at_command bottom char
everyheadingmarks unique_at_command bottom char
fonttextsize unique_at_command 11 integer
# --footnote-style
footnotestyle unique_at_command end char
# --no-validate
novalidate unique_at_command 0 integer
oddfootingmarks unique_at_command undef char
oddheadingmarks unique_at_command undef char
pagesizes unique_at_command undef char
setchapternewpage unique_at_command on char
setfilename unique_at_command undef char
smallbook unique_at_command undef char
# comand-line options that are primarily used to control conversion.
# a value corresponds to defaults that are the same for every output format
# otherwise undef is used
# --split-size
SPLIT_SIZE converter_cmdline 300000 integer
# --fill-column
FILLCOLUMN converter_cmdline 72 integer
# --number-sections
NUMBER_SECTIONS converter_cmdline 1 integer
# --number-footnotes
NUMBER_FOOTNOTES converter_cmdline 1 integer
# only in HTML
# --transliterate-file-names
TRANSLITERATE_FILE_NAMES converter_cmdline 0 integer
# --split
SPLIT converter_cmdline undef char
# --headers. Used to set diverse
# customization options in main program.
# Only directly used in HTML converter
HEADERS converter_cmdline 1 integer
# --node-files. Default depends on SPLIT; Used in HTML only.
NODE_FILES converter_cmdline undef integer
# --verbose
VERBOSE converter_cmdline undef integer
# --output Sets OUTPUT if non split and not ending by /.
# Setting can be format dependent
OUTFILE converter_cmdline undef char
# --output Sets SUBDIR if split or ending by /.
# Setting can be format dependent
SUBDIR converter_cmdline undef char
# --disable-encoding/--enable-encoding.
# The option is directly used in
# Info/Plaintext, and used in diverse formats
# for index sorting and plain text output.
ENABLE_ENCODING converter_cmdline 1 integer
# used in main program, defaults documented in manual
# --macro-expand. Only for main program
MACRO_EXPAND program_cmdline undef bytes
# used in HTML only, called from main program
# --internal-links
INTERNAL_LINKS program_cmdline undef bytes
# --error-limit
ERROR_LIMIT program_cmdline 100 integer
# --force
FORCE program_cmdline undef integer
# --no-warn
NO_WARN program_cmdline undef integer
# --trace-includes
TRACE_INCLUDES program_cmdline 0 integer
# following also set in converters
# --headers. Modified by the format.
FORMAT_MENU program_cmdline menu char
# output warnings when node with
# automatic direction and directions in menu are not consistent
# with sectionning, and when node directions are not consistent
# with menu directions.
CHECK_NORMAL_MENU_STRUCTURE program_customization 1 integer
CHECK_MISSING_MENU_ENTRY program_customization 1 integer
DUMP_STRUCTURE program_customization undef bytes
DUMP_TREE program_customization undef bytes
DUMP_TEXI program_customization undef integer
SHOW_BUILTIN_CSS_RULES program_customization 0 integer
SORT_ELEMENT_COUNT program_customization undef char
SORT_ELEMENT_COUNT_WORDS program_customization undef integer
TEXI2DVI program_customization texi2dvi char
TREE_TRANSFORMATIONS program_customization undef char
# up node of Top node default value
TOP_NODE_UP converter_customization (dir) char
BASEFILENAME_LENGTH converter_customization 255-10 integer
DOC_ENCODING_FOR_INPUT_FILE_NAME converter_customization 1 integer
DOC_ENCODING_FOR_OUTPUT_FILE_NAME converter_customization 0 integer
# only used in HTML
IMAGE_LINK_PREFIX converter_customization undef char
CASE_INSENSITIVE_FILENAMES converter_customization 0 integer
DEBUG converter_customization 0 integer
# only used in HTML
HANDLER_FATAL_ERROR_LEVEL converter_customization 100 integer
TEST converter_customization 0 integer
# for textcontent format
TEXTCONTENT_COMMENT converter_customization undef integer
# used in TexinfoXML/SXML
# Reset by the main program, therefore this value is only used in converter
# tests that use the perl modules directly. Does not need to match with the
# documented value used in the main program, nor to be updated every time a
# DTD is released, to have a fixed value for the tests. However, it should
# be good to update from time to time to avoid test results that are not
# valid against their reported DTD.
TEXINFO_DTD_VERSION converter_customization 7.1 char
USE_UNICODE_COLLATION converter_customization 1 integer
# Some are for all converters, EXTENSION for instance, some for
# some converters, for example CLOSE_QUOTE_SYMBOL and many
# for HTML.
# Defaults are documented in manual and set in the various converters.
# used in util/txicustomvars
AFTER_BODY_OPEN converter_customization undef char
AFTER_SHORT_TOC_LINES converter_customization undef char
AFTER_TOC_LINES converter_customization undef char
ASCII_DASHES_AND_QUOTES converter_customization undef integer
ASCII_GLYPH converter_customization undef integer
ASCII_PUNCTUATION converter_customization undef integer
AUTO_MENU_DESCRIPTION_ALIGN_COLUMN converter_customization undef integer
AUTO_MENU_MAX_WIDTH converter_customization undef integer
BEFORE_SHORT_TOC_LINES converter_customization undef char
BEFORE_TOC_LINES converter_customization undef char
BIG_RULE converter_customization undef char
BODY_ELEMENT_ATTRIBUTES converter_customization undef char
# for LaTeX
CLASS_BEGIN_USEPACKAGE converter_customization undef char
COPIABLE_LINKS converter_customization undef integer
CHAPTER_HEADER_LEVEL converter_customization undef integer
CHECK_HTMLXREF converter_customization undef integer
CLOSE_DOUBLE_QUOTE_SYMBOL converter_customization undef char
CLOSE_QUOTE_SYMBOL converter_customization undef char
COLLATION_LANGUAGE converter_customization undef char
COMMAND_LINE_ENCODING converter_customization undef char
INDENTED_BLOCK_COMMANDS_IN_TABLE converter_customization undef integer
CONTENTS_OUTPUT_LOCATION converter_customization undef char
CONVERT_TO_LATEX_IN_MATH converter_customization undef integer
DATE_IN_HEADER converter_customization undef integer
DEFAULT_RULE converter_customization undef char
DEF_TABLE converter_customization undef integer
DO_ABOUT converter_customization undef integer
# not documented, used for tests
_DOCBOOK_PIECE converter_customization undef integer
DOCTYPE converter_customization undef char
DOCUMENTLANGUAGE_COLLATION converter_customization undef integer
# for LaTeX
END_USEPACKAGE converter_customization undef char
# for ext/epub3.pm
EPUB_CREATE_CONTAINER_FILE converter_customization undef integer
# for ext/epub3.pm
EPUB_KEEP_CONTAINER_FOLDER converter_customization undef integer
EXTENSION converter_customization undef char
EXTERNAL_CROSSREF_EXTENSION converter_customization undef char
# This is used like a boolean, but it is set to a char to match SPLIT, such
# that the value can be set as a copy of SPLIT value
EXTERNAL_CROSSREF_SPLIT converter_customization undef char
EXTERNAL_DIR converter_customization undef char
EXTRA_HEAD converter_customization undef char
FOOTNOTE_END_HEADER_LEVEL converter_customization undef integer
FOOTNOTE_SEPARATE_HEADER_LEVEL converter_customization undef integer
HEADER_IN_TABLE converter_customization undef integer
# for ext/highlight_syntax.pm
HIGHLIGHT_SYNTAX converter_customization undef char
# for ext/highlight_syntax.pm
HIGHLIGHT_SYNTAX_DEFAULT_LANGUAGE converter_customization undef char
HTML_MATH converter_customization undef char
HTML_ROOT_ELEMENT_ATTRIBUTES converter_customization undef char
HTMLXREF_FILE converter_customization undef char
HTMLXREF_MODE converter_customization undef char
ICONS converter_customization undef integer
INDEX_ENTRY_COLON converter_customization undef char
INDEX_SPECIAL_CHARS_WARNING converter_customization undef integer
INFO_JS_DIR converter_customization undef char
INFO_SPECIAL_CHARS_QUOTE converter_customization undef char
INFO_SPECIAL_CHARS_WARNING converter_customization undef integer
INFO_MATH_IMAGES converter_customization undef integer
IGNORE_REF_TO_TOP_NODE_UP converter_customization undef integer
INLINE_CSS_STYLE converter_customization undef integer
INPUT_FILE_NAME_ENCODING converter_customization undef char
JS_WEBLABELS converter_customization undef char
JS_WEBLABELS_FILE converter_customization undef char
LATEX_FLOATS_FILE_EXTENSION converter_customization tfl char
LOCALE_ENCODING converter_customization undef char
L2H_CLEAN converter_customization undef integer
L2H_FILE converter_customization undef char
L2H_HTML_VERSION converter_customization undef char
L2H_L2H converter_customization undef char
L2H_SKIP converter_customization undef integer
L2H_TMP converter_customization undef char
MATHJAX_CONFIGURATION converter_customization undef char
MATHJAX_SCRIPT converter_customization undef char
MATHJAX_SOURCE converter_customization undef char
MAX_HEADER_LEVEL converter_customization undef integer
MENU_ENTRY_COLON converter_customization undef char
MENU_SYMBOL converter_customization undef char
MESSAGE_ENCODING converter_customization undef char
MONOLITHIC converter_customization undef integer
NO_CSS converter_customization undef integer
NO_NUMBER_FOOTNOTE_SYMBOL converter_customization undef char
NO_CUSTOM_HTML_ATTRIBUTE converter_customization undef integer
NODE_NAME_IN_INDEX converter_customization undef integer
NODE_NAME_IN_MENU converter_customization undef integer
NO_TOP_NODE_OUTPUT converter_customization undef integer
OPEN_DOUBLE_QUOTE_SYMBOL converter_customization undef char
OPEN_QUOTE_SYMBOL converter_customization undef char
OUTPUT_CHARACTERS converter_customization undef integer
OUTPUT_ENCODING_NAME converter_customization undef char
OUTPUT_FILE_NAME_ENCODING converter_customization undef char
PACKAGE converter_customization undef char
PACKAGE_AND_VERSION converter_customization undef char
PACKAGE_NAME converter_customization undef char
PACKAGE_URL converter_customization undef char
PACKAGE_VERSION converter_customization undef char
PRE_BODY_CLOSE converter_customization undef char
PREFIX converter_customization undef char
PROGRAM converter_customization undef char
PROGRAM_NAME_IN_ABOUT converter_customization undef integer
PROGRAM_NAME_IN_FOOTER converter_customization undef integer
SECTION_NAME_IN_TITLE converter_customization undef integer
SHORT_TOC_LINK_TO_TOC converter_customization undef integer
SHOW_TITLE converter_customization undef integer
T4H_LATEX_CONVERSION converter_customization undef char
T4H_MATH_CONVERSION converter_customization undef char
T4H_TEX_CONVERSION converter_customization undef char
TEXI2HTML converter_customization undef integer
TEXINFO_OUTPUT_FORMAT converter_customization undef char
# for Texinfo Markup/XML
TXI_MARKUP_NO_SECTION_EXTENT converter_customization undef integer
TOC_LINKS converter_customization undef integer
TOP_FILE converter_customization undef char
TOP_NODE_FILE_TARGET converter_customization undef char
TOP_NODE_UP_URL converter_customization undef char
USE_ACCESSKEY converter_customization undef integer
USE_ISO converter_customization undef integer
USE_LINKS converter_customization undef integer
USE_NODES converter_customization undef integer
USE_NODE_DIRECTIONS converter_customization undef integer
USE_NUMERIC_ENTITY converter_customization undef integer
USE_SETFILENAME_EXTENSION converter_customization undef integer
USE_TITLEPAGE_FOR_TITLE converter_customization undef integer
USE_UNIDECODE converter_customization undef integer
USE_XML_SYNTAX converter_customization undef integer
VERTICAL_HEAD_NAVIGATION converter_customization undef integer
WORDS_IN_PAGE converter_customization undef integer
XREF_USE_FLOAT_LABEL converter_customization undef integer
XREF_USE_NODE_NAME_ARG converter_customization undef integer
# TODO Not documented for now.
# If set, conversion/formatting not in C.
XS_EXTERNAL_CONVERSION converter_customization undef integer
XS_EXTERNAL_FORMATTING converter_customization undef integer
# used for development tests, not sure that it will stay in the long term
XS_STRXFRM_COLLATION_LOCALE converter_customization undef char
# used internally for EPUB
_INLINE_STYLE_WIDTH converter_customization undef integer
# Not strings
LINKS_DIRECTIONS converter_other undef buttons
TOP_BUTTONS converter_other undef buttons
TOP_FOOTER_BUTTONS converter_other undef buttons
SECTION_BUTTONS converter_other undef buttons
CHAPTER_FOOTER_BUTTONS converter_other undef buttons
SECTION_FOOTER_BUTTONS converter_other undef buttons
NODE_FOOTER_BUTTONS converter_other undef buttons
MISC_BUTTONS converter_other undef buttons
CHAPTER_BUTTONS converter_other undef buttons
ACTIVE_ICONS converter_other undef icons
PASSIVE_ICONS converter_other undef icons
# set from command line or in main program.
# --css-include
CSS_FILES array_cmdline undef bytes_string_list
# --css-ref
CSS_REFS array_cmdline undef char_string_list
# --if*
EXPANDED_FORMATS array_cmdline undef bytes_string_list
# -I
INCLUDE_DIRECTORIES array_cmdline undef file_string_list
TEXINFO_LANGUAGE_DIRECTORIES array_cmdline undef file_string_list