blob: 2137811552f1a6645abe63aa91245214cd8f7849 [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>Installing Dir Entries (GNU Texinfo 6.8dev)</title>
<meta name="description" content="Installing Dir Entries (GNU Texinfo 6.8dev)">
<meta name="keywords" content="Installing Dir Entries (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="Installing-an-Info-File.html" rel="up" title="Installing an Info File">
<link href="Invoking-install_002dinfo.html" rel="next" title="Invoking install-info">
<link href="Other-Info-Directories.html" rel="prev" title="Other Info Directories">
<style type="text/css">
<!--
div.example {margin-left: 3.2em}
-->
</style>
</head>
<body lang="en">
<div class="subsection-level-extent" id="Installing-Dir-Entries">
<div class="nav-panel">
<p>
Next: <a href="Invoking-install_002dinfo.html" accesskey="n" rel="next">Invoking <code class="command">install-info</code></a>, Previous: <a href="Other-Info-Directories.html" accesskey="p" rel="prev">Info Files in Other Directories</a>, Up: <a href="Installing-an-Info-File.html" accesskey="u" rel="up">Installing an Info File</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="Installing-Info-Directory-Files">20.2.4 Installing Info Directory Files</h4>
<p>When you install an Info file onto your system, you can use the program
<code class="code">install-info</code> to update the Info directory file <samp class="file">dir</samp>.
Normally the makefile for the package runs <code class="code">install-info</code>, just
after copying the Info file into its proper installed location.
</p>
<a class="index-entry-id" id="index-direntry"></a>
<p>In order for the Info file to work with <code class="code">install-info</code>, you include
the commands <code class="code">@dircategory</code> and
<code class="code">@direntry</code>&hellip;<code class="code">@end direntry</code> in the Texinfo source
file. Use <code class="code">@direntry</code> to specify the menu entries to add to the
Info directory file, and use <code class="code">@dircategory</code> to specify which part
of the Info directory to put it in. See <a class="xref" href="Directory-Category.html">Directory Category</a>.
</p>
<p>Here is how these commands are used in this manual:
</p>
<div class="example">
<pre class="example-preformatted">@dircategory Texinfo documentation system
@direntry
* Texinfo: (texinfo). The GNU documentation format.
* install-info: (texinfo)Invoking install-info. &hellip;
&hellip;
@end direntry
</pre></div>
<p>Here&rsquo;s what this produces in the Info file:
</p>
<div class="example">
<pre class="example-preformatted">INFO-DIR-SECTION Texinfo documentation system
START-INFO-DIR-ENTRY
* Texinfo: (texinfo). The GNU documentation format.
* install-info: (texinfo)Invoking install-info. &hellip;
&hellip;
END-INFO-DIR-ENTRY
</pre></div>
<p>The <code class="code">install-info</code> program sees these lines in the Info file, and
that is how it knows what to do.
</p>
<p>Always use the <code class="code">@direntry</code> and <code class="code">@dircategory</code> commands near
the beginning of the Texinfo input, before the first <code class="code">@node</code>
command. If you use them later on in the input, <code class="code">install-info</code>
will not notice them.
</p>
<p><code class="code">install-info</code> will automatically reformat the description of the
menu entries it is adding. As a matter of convention, the description
of the main entry (above, &lsquo;<samp class="samp">The GNU documentation format</samp>&rsquo;) should
start at column 32, starting at zero (as in
<code class="code">what-cursor-position</code> in Emacs). This will make it align with
most others. Description for individual utilities best start in
column 48, where possible. For more information about formatting see
the &lsquo;<samp class="samp">--calign</samp>&rsquo;, &lsquo;<samp class="samp">--align</samp>&rsquo;, and &lsquo;<samp class="samp">--max-width</samp>&rsquo; options in
<a class="ref" href="Invoking-install_002dinfo.html">Invoking <code class="command">install-info</code></a>.
</p>
<p>If you use <code class="code">@dircategory</code> more than once in the Texinfo source,
each usage specifies the &lsquo;current&rsquo; category; any subsequent
<code class="code">@direntry</code> commands will add to that category.
</p>
<a class="index-entry-id" id="index-Invoking-nodes_002c-including-in-dir-file"></a>
<p>Each &lsquo;Invoking&rsquo; node for every program installed should have a
corresponding <code class="code">@direntry</code>. This lets users easily find the
documentation for the different programs they can run, as with the
traditional <code class="command">man</code> system.
</p>
</div>
<hr>
<div class="nav-panel">
<p>
Next: <a href="Invoking-install_002dinfo.html">Invoking <code class="command">install-info</code></a>, Previous: <a href="Other-Info-Directories.html">Info Files in Other Directories</a>, Up: <a href="Installing-an-Info-File.html">Installing an Info File</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>