blob: 8a0136db163a91cb160b8e61cb996a3343333740 [file]
<!DOCTYPE html>
<html>
<!-- Created by Texinfo 6.8dev+dev, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- This manual is for GNU Texinfo (version 6.8dev, 23 February 2022),
a documentation system that can produce both online information and a
printed manual from a single source using semantic markup.
Copyright (C) 1988, 1990-1993, 1995-1999, 2001-2022 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
"GNU Free Documentation License". -->
<title>HTML Xref Configuration (GNU Texinfo 6.8dev)</title>
<meta name="description" content="HTML Xref Configuration (GNU Texinfo 6.8dev)">
<meta name="keywords" content="HTML Xref Configuration (GNU Texinfo 6.8dev)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2any">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="index.html" rel="start" title="Top">
<link href="Command-and-Variable-Index.html" rel="index" title="Command and Variable Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="HTML-Xref.html" rel="up" title="HTML Xref">
<link href="HTML-Xref-Mismatch.html" rel="prev" title="HTML Xref Mismatch">
<style type="text/css">
<!--
div.example {margin-left: 3.2em}
span.r {font-family: initial; font-weight: normal}
-->
</style>
</head>
<body lang="en">
<div class="subsection-level-extent" id="HTML-Xref-Configuration">
<div class="nav-panel">
<p>
Previous: <a href="HTML-Xref-Mismatch.html" accesskey="p" rel="prev">HTML Cross-reference Mismatch</a>, Up: <a href="HTML-Xref.html" accesskey="u" rel="up">HTML Cross-references</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<h4 class="subsection" id="HTML-Cross_002dreference-Configuration_003a-htmlxref_002ecnf">21.4.6 HTML Cross-reference Configuration: <samp class="file">htmlxref.cnf</samp></h4>
<a class="index-entry-id" id="index-htmlxref_002ecnf"></a>
<a class="index-entry-id" id="index-HTML-cross_002dreferences-6"></a>
<a class="index-entry-id" id="index-Cross_002dreference-configuration_002c-for-HTML"></a>
<a class="index-entry-id" id="index-Configuration_002c-for-HTML-cross_002dmanual-references"></a>
<p><code class="command">makeinfo</code> reads a file named <samp class="file">htmlxref.cnf</samp> to gather
information for cross-references to other manuals in HTML output. It
is looked for in the following directories:
</p>
<dl class="table">
<dt><samp class="file">./</samp></dt>
<dd><p>(the current directory)
</p>
</dd>
<dt><samp class="file">./.texinfo/</samp></dt>
<dd><p>(under the current directory)
</p>
</dd>
<dt><samp class="file">~/.texinfo/</samp></dt>
<dd><p>(where <code class="code">~</code> is the current user&rsquo;s home directory)
</p>
</dd>
<dt><samp class="file"><var class="var">sysconfdir</var>/texinfo/</samp></dt>
<dd><p>(where <var class="var">sysconfdir</var> is the system configuration directory
specified at compile-time, e.g., <samp class="file">/usr/local/etc</samp>)
</p>
</dd>
<dt><samp class="file"><var class="var">datadir</var>/texinfo/</samp></dt>
<dd><p>(likewise specified at compile time, e.g., <samp class="file">/usr/local/share</samp>)
</p></dd>
</dl>
<p>All files found are used, with earlier entries overriding later ones.
The Texinfo distribution includes a default file which handles many
GNU manuals; it is installed in the last of the above directories,
i.e., <samp class="file"><var class="var">datadir</var>/texinfo/htmlxref.cnf</samp>.
</p>
<p>The file is line-oriented. Lines consisting only of whitespace are
ignored. Comments are indicated with a &lsquo;<samp class="samp">#</samp>&rsquo; at the beginning of a
line, optionally preceded by whitespace. Since &lsquo;<samp class="samp">#</samp>&rsquo; can occur in
urls (like almost any character), it does not otherwise start a
comment.
</p>
<p>Each non-blank non-comment line must be either a <em class="dfn">variable
assignment</em> or <em class="dfn">manual information</em>.
</p>
<p>A variable assignment line looks like this:
</p>
<div class="example">
<pre class="example-preformatted"><var class="var">varname</var> = <var class="var">varvalue</var>
</pre></div>
<p>Whitespace around the &lsquo;<samp class="samp">=</samp>&rsquo; is optional and ignored. The
<var class="var">varname</var> should consist of letters; case is significant. The
<var class="var">varvalue</var> is an arbitrary string, continuing to the end of the
line. Variables are then referenced with &lsquo;<samp class="samp">${<var class="var">varname</var>}</samp>&rsquo;;
variable references can occur in the <var class="var">varvalue</var>.
</p>
<p>A manual information line looks like this:
</p>
<div class="example">
<pre class="example-preformatted"><var class="var">manual</var> <var class="var">keyword</var> <var class="var">urlprefix</var>
</pre></div>
<p>with <var class="var">manual</var> the short identifier for a manual, <var class="var">keyword</var>
being one of: <code class="code">mono</code>, <code class="code">node</code>, <code class="code">section</code>,
<code class="code">chapter</code>, and <var class="var">urlprefix</var> described below. Variable
references can occur only in the <var class="var">urlprefix</var>. For example (used
in the canonical <samp class="file">htmlxref.cnf</samp>):
</p>
<div class="example">
<pre class="example-preformatted">G = http://www.gnu.org
GS = ${G}/software
hello mono ${GS}/hello/manual/hello.html
hello chapter ${GS}/hello/manual/html_chapter/
hello section ${GS}/hello/manual/html_section/
hello node ${GS}/hello/manual/html_node/
</pre></div>
<a class="index-entry-id" id="index-monolithic-manuals_002c-for-HTML-cross_002dreferences"></a>
<p>If the keyword is <code class="code">mono</code>, <var class="var">urlprefix</var> gives the host,
directory, and file name for <var class="var">manual</var> as one monolithic file.
</p>
<a class="index-entry-id" id="index-split-manuals_002c-for-HTML-cross_002dreferences"></a>
<p>If the keyword is <code class="code">node</code>, <code class="code">section</code>, or <code class="code">chapter</code>,
<var class="var">urlprefix</var> gives the host and directory for <var class="var">manual</var> split
into nodes, sections, or chapters, respectively.
</p>
<p>When available, <code class="command">makeinfo</code> will use the &ldquo;corresponding&rdquo;
value for cross-references between manuals. That is, when generating
monolithic output (<samp class="option">--no-split</samp>), the <code class="code">mono</code> url will be
used, when generating output that is split by node, the <code class="code">node</code>
url will be used, etc. However, if a manual is not available in that
form, anything that is available can be used. Here is the search
order for each style:
</p>
<div class="example">
<pre class="example-preformatted">node &rArr; node, section, chapter, mono
section &rArr; section, chapter, node, mono
chapter &rArr; chapter, section, node, mono
mono &rArr; mono, chapter, section, node
</pre></div>
<a class="index-entry-id" id="index-_002d_002dnode_002dfiles_002c-and-HTML-cross_002dreferences"></a>
<p>These section- and chapter-level cross-manual references can succeed
only when the target manual was created using <samp class="option">--node-files</samp>;
this is the default for split output.
</p>
<p>If you have additions or corrections to the <samp class="file">htmlxref.cnf</samp>
distributed with Texinfo, please email <a class="email" href="mailto:bug-texinfo@gnu.org">bug-texinfo@gnu.org</a> as
usual. You can get the latest version from
<a class="url" href="http://ftpmirror.gnu.org/texinfo/htmlxref.cnf">http://ftpmirror.gnu.org/texinfo/htmlxref.cnf</a>.
</p>
</div>
<hr>
<div class="nav-panel">
<p>
Previous: <a href="HTML-Xref-Mismatch.html">HTML Cross-reference Mismatch</a>, Up: <a href="HTML-Xref.html">HTML Cross-references</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>