JezK
Edit File: Installing-Dir-Entries.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <!-- Created by GNU Texinfo 6.8, https://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.8, 8 June 2021), 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-2021 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.8)</title> <meta name="description" content="Installing Dir Entries (GNU Texinfo 6.8)"> <meta name="keywords" content="Installing Dir Entries (GNU Texinfo 6.8)"> <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"> <!-- a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em} a.summary-letter {text-decoration: none} blockquote.indentedblock {margin-right: 0em} div.display {margin-left: 3.2em} div.example {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} span:hover a.copiable-anchor {visibility: visible} ul.no-bullet {list-style: none} --> </style> </head> <body lang="en"> <div class="subsection" id="Installing-Dir-Entries"> <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">Info Files in Other Directories</a>, Up: <a href="Installing-an-Info-File.html" accesskey="u" rel="up">Installing an Info File</a> [<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">20.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>…<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. … … @end direntry </pre></div> <p>Here’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. … … 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, ‘<samp>The GNU documentation format</samp>’) 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 ‘<samp>--calign</samp>’, ‘<samp>--align</samp>’, and ‘<samp>--max-width</samp>’ 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 ‘current’ 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 ‘Invoking’ 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> </div> <hr> <div class="header"> <p> Next: <a href="Invoking-install_002dinfo.html">Invoking <code>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> [<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>