8.1 Customizing Output File Names

You can specify the output file or directory, intermediate directories and file extension with customization variables (see File Names and Links Customization for HTML in Texinfo).

Two function references registered with texinfo_register_file_id_setting_function enable further customization. The first, node_file_name is used to customize the nodes files names.

Function Reference: $node_file node_file_name ($converter, \%node_element, $file_name)

$converter is a converter object. \%node_element is the Texinfo tree element corresponding to the @node. $file_name is the node file name that has been already set. The function should return the node file name ($node_file).

The other function reference, unit_file_name, is used to customize the file names associated with each normal output unit (see Output Units).

Function Reference: ($file, $path) unit_file_name ($converter, \%output_unit, $file_name, $file_path)

$converter is a converter object. \%output_unit is the output unit. $file_name is the file name that has been already set. $file_path is the file path that has been already set. $file_path is ‘undef’ if the file is relative to the output directory, which is the case if the output is split. The function should return the file name for the output unit, $file, and the file path for the output unit, $path, which should be ‘undef’ if the file path is to be constructed by putting $file in the destination directory.

In the user defined functions, the information that an output unit is associated with @top or @node Top may be determined with:

$converter->unit_is_top_output_unit(\%output_unit);

The information on tree elements may be interesting for those functions (see Texinfo Tree Elements in User Defined Functions). The extra key associated_section of a node element and associated_node of a sectioning command element may also be useful.

The file name associated with a sectioning command is set together with the target, and is described in the next section.