Viewing File: /usr/share/doc/texinfo/html/Installing-Dir-Entries.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual is for GNU Texinfo (version 6.7, 23 September 2019),
a documentation system that can produce both online information and a
printed manual from a single source using semantic markup.

Copyright (C) 1988, 1990, 1991, 1992, 1993, 1995, 1996, 1997,
1998, 1999, 2001, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 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". -->
<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Installing Dir Entries (GNU Texinfo 6.7)</title>

<meta name="description" content="Installing Dir Entries (GNU Texinfo 6.7)">
<meta name="keywords" content="Installing Dir Entries (GNU Texinfo 6.7)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2any">
<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">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en">
<span id="Installing-Dir-Entries"></span><div class="header">
<p>
Next: <a href="Invoking-install_002dinfo.html" accesskey="n" rel="next">Invoking <code>install-info</code></a>, Previous: <a href="Other-Info-Directories.html" accesskey="p" rel="prev">Other Info 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>
<span id="Installing-Info-Directory-Files"></span><h4 class="subsection">21.2.4 Installing Info Directory Files</h4>

<p>When you install an Info file onto your system, you can use the program
<code>install-info</code> to update the Info directory file <samp>dir</samp>.
Normally the makefile for the package runs <code>install-info</code>, just
after copying the Info file into its proper installed location.
</p>
<span id="index-dircategory"></span>
<span id="index-direntry"></span>
<p>In order for the Info file to work with <code>install-info</code>, you include
the commands <code>@dircategory</code> and
<code>@direntry</code>&hellip;<code>@end direntry</code> in the Texinfo source
file.  Use <code>@direntry</code> to specify the menu entries to add to the
Info directory file, and use <code>@dircategory</code> to specify which part
of the Info directory to put it in.  Here is how these commands are used
in this manual:
</p>
<div class="example">
<pre class="example">@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">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>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>@direntry</code> and <code>@dircategory</code> commands near
the beginning of the Texinfo input, before the first <code>@node</code>
command.  If you use them later on in the input, <code>install-info</code>
will not notice them.
</p>
<p><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>The GNU documentation format</samp>&rsquo;) should
start at column 32, starting at zero (as in
<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>--calign</samp>&rsquo;, &lsquo;<samp>--align</samp>&rsquo;, and &lsquo;<samp>--max-width</samp>&rsquo; options in
<a href="Invoking-install_002dinfo.html">Invoking <code>install-info</code></a>.
</p>
<p>If you use <code>@dircategory</code> more than once in the Texinfo source,
each usage specifies the &lsquo;current&rsquo; category; any subsequent
<code>@direntry</code> commands will add to that category.
</p>
<span id="index-Free-Software-Directory"></span>
<span id="index-Dir-categories_002c-choosing"></span>
<span id="index-Categories_002c-choosing"></span>
<p>When choosing a category name for the <code>@dircategory</code> command, we
recommend consulting the <a href="http://www.gnu.org/directory">Free Software Directory</a>.  If your program is not listed there,
or listed incorrectly or incompletely, please report the situation to
the directory maintainers (<a href="http://directory.fsf.org">http://directory.fsf.org</a>) so that the
category names can be kept in sync.
</p>
<p>Here are a few examples (see the <samp>util/dir-example</samp> file in the
Texinfo distribution for large sample <code>dir</code> file):
</p>
<div class="display">
<pre class="display">Emacs
Localization
Printing
Software development
Software libraries
Text creation and manipulation
</pre></div>

<span id="index-Invoking-nodes_002c-including-in-dir-file"></span>
<p>Each &lsquo;Invoking&rsquo; node for every program installed should have a
corresponding <code>@direntry</code>.  This lets users easily find the
documentation for the different programs they can run, as with the
traditional <code>man</code> system.
</p>

<hr>
<div class="header">
<p>
Next: <a href="Invoking-install_002dinfo.html" accesskey="n" rel="next">Invoking <code>install-info</code></a>, Previous: <a href="Other-Info-Directories.html" accesskey="p" rel="prev">Other Info 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>



</body>
</html>
Back to Directory File Manager