blob: 55244d137c2aae19530211f5a48aeaffea5c8802 [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>Info Format Specification (GNU Texinfo 6.8dev)</title>
<meta name="description" content="Info Format Specification (GNU Texinfo 6.8dev)">
<meta name="keywords" content="Info Format Specification (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="index.html" rel="up" title="Top">
<link href="GNU-Free-Documentation-License.html" rel="next" title="GNU Free Documentation License">
<link href="Global-Document-Commands.html" rel="prev" title="Global Document Commands">
<style type="text/css">
<!--
div.example {margin-left: 3.2em}
-->
</style>
</head>
<body lang="en">
<div class="appendix-level-extent" id="Info-Format-Specification">
<div class="nav-panel">
<p>
Next: <a href="GNU-Free-Documentation-License.html" accesskey="n" rel="next">GNU Free Documentation License</a>, Previous: <a href="Global-Document-Commands.html" accesskey="p" rel="prev">Global Document Commands</a>, Up: <a href="index.html" accesskey="u" rel="up">Texinfo</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>
<h2 class="appendix" id="Info-Format-Specification-1">Appendix F Info Format Specification</h2>
<a class="index-entry-id" id="index-Info-format-specification"></a>
<a class="index-entry-id" id="index-Specification-of-Info-format"></a>
<a class="index-entry-id" id="index-Definition-of-Info-format"></a>
<p>Here we describe the technical details of the Info format.
</p>
<p>In this formal description, the characters <code class="code">&lt;&gt;*()|=#</code> are used
for the language of the description itself. Other characters are
literal. The formal constructs used are typical: <code class="code">&lt;...&gt;</code>
indicates a metavariable name, &lsquo;<samp class="samp">=</samp>&rsquo; means definition, &lsquo;<samp class="samp">*</samp>&rsquo;
repetition, &lsquo;<samp class="samp">?</samp>&rsquo; optional, &lsquo;<samp class="samp">()</samp>&rsquo; grouping, &lsquo;<samp class="samp">|</samp>&rsquo;
alternation, &lsquo;<samp class="samp">#</samp>&rsquo; comment. Exception: &lsquo;<samp class="samp">*</samp>&rsquo; at the beginning
of a line is literal.
</p>
<p>In general, programs that read Info files should try to be
case-insensitive to keywords that occur in the file (for example,
&lsquo;<samp class="samp">Tag Table</samp>&rsquo; and &lsquo;<samp class="samp">Tag table</samp>&rsquo; should be equivalent) in order to
support Info-generating programs that use different capitalization.
</p>
<p>The sections in an Info file (such as nodes or tag tables) are separated
with a sequence:
</p>
<div class="example">
<pre class="example-preformatted">(^L)?^_(^L)?^J
</pre></div>
<p>That is, a &lsquo;<samp class="samp">CTRL-_</samp>&rsquo; character followed by a newline, with optional
formfeed characters. We refer to such sequences as <code class="t">&lt;separator&gt;</code>.
</p>
<p>We specify literal parentheses (those that are part of the Info
format) with <code class="t">&lt;lparen&gt;</code> and <code class="t">&lt;rparen&gt;</code>, meaning the single
characters &lsquo;<samp class="samp">(</samp>&rsquo; and &lsquo;<samp class="samp">)</samp>&rsquo; respectively. We specify the
&lsquo;<samp class="samp">CTRL-?</samp>&rsquo; character (character number 127) <code class="t">&lt;del&gt;</code>. Finally,
the two-character sequence &lsquo;<samp class="samp">^<var class="var">x</var></samp>&rsquo; means the single
character &lsquo;<samp class="samp">CTRL-<var class="var">x</var></samp>&rsquo;, for any <var class="var">x</var>.
</p>
<p>This format definition was written some 25 years after the Info format
was first devised. So in the event of conflicts between this
definition and actual practice, practice wins. It also assumes some
general knowledge of Texinfo; it is meant to be a guide for
implementors rather than a rigid technical standard. We often refer
back to other parts of this manual for examples and definitions,
rather than redundantly spelling out every detail.
</p>
<ul class="mini-toc">
<li><a href="Info-Format-General-Layout.html" accesskey="1">Info Format General Layout</a></li>
<li><a href="Info-Format-Text-Constructs.html" accesskey="2">Info Format Text Constructs</a></li>
</ul>
</div>
<hr>
<div class="nav-panel">
<p>
Next: <a href="GNU-Free-Documentation-License.html">GNU Free Documentation License</a>, Previous: <a href="Global-Document-Commands.html">Global Document Commands</a>, Up: <a href="index.html">Texinfo</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>