\section{Description Environment}
\cindex{Descriptions, making two-column}
\findex{description}
\findex{item}

The \code{description} environment is similar to \code{\back
begin\{itemize\}}, but allows you to specify a name or heading line for
each item.  (\xref{Itemize Environment}.)  The command is used to
produce two-column descriptions, and is especially useful for glossaries
and explanatory exhibits.  You must follow each use of \code{\back item}
inside of the description environment with text to serve as the heading
line for that item.  This text is put inside square brackets on the same
line as the \code{\back item} command.  Each heading line is put into
the first column of the table and the supporting text, which you put on
the line following the line beginning with \code{\back item}, goes into
the second column.\refill

Usually, you should put a blank line before a \code{\back item}.  This
puts a blank like in the Info file.  Except when the entries are very
brief, a blank line looks better.  The following description highlights
the text in the first column:

\begin{verbatim}
\begin{description}
\item[foo]
This is the text for \samp{foo}.
\item[bar]
This is the text for \samp{bar}.
\end{description}
\end{verbatim}

\noindent
produces

\begin{quotation}
\begin{description}
\item[foo]
This is the text for \samp{foo}.
\item[bar]
This is the text for \samp{bar}.
\end{description}
\end{quotation}

Info indents the lines of text in the second column, but does not fill
them.  As a result, the lines in the Info file may be too wide.  To
prevent this, cause Info to refill the paragraphs after processing by
adding the command \code{\back refill} to the end of the paragraph.
(\xref{Refill}, for more information about the use of the 
\code{\back refill} command.)

\node Making Cross References, Xref, Description Environment, Top
\chapter{Making Cross References}
\cindex{Making cross references}
\cindex{Cross references}
\cindex{References}

Cross references are used to refer the reader to other parts of the same or
different \LaTeX info files.  In \LaTeX info, \dfn{nodes} are the points to
which cross-references can refer.

In general, a document should be designed so that it can be read
sequentially.  People soon tire of flipping back and forth to find
information that should be presented to them as they need it.  However,
there will be information (often too detailed for whatever the current
context may be) that is related to whatever is presented and to which
reference should be made.  More important, in an on-line help system or in
a reference manual, readers do \emph{not} read everything in sequence from
beginning to end.  Instead, they look up what they need.  For this reason,
such creations should contain many cross references to help the reader find
other information that he or she may not have read.

Although nodes are not a fundamental concept in a printed manual, they
still serve to define a cross-reference point and the variants of
\code{\back xref} still serve to make references.  Thus, if you are writing a
manual that will only be printed, and will not be used on-line, you
continue to use the \code{\back node} command for when you make cross
references.

There are several kinds of cross reference command.

\begin{description}
\item[\back xref]
Used to start a sentence in the printed manual saying, `See \dots' \*
or an entry in the Info file saying \samp{*note \dots}.

\item[\back pxref]
Used to make a reference that starts with a lowercase \samp{see} \*
and is usually contained within parentheses.\refill

\item[\back inforef]
Used to make a reference to an Info file for which there is no printed
manual.\refill
\end{description}


\begin{menu}
* Xref::
* Pxref::
* Inforef::
\end{menu}

\node Xref, Pxref, Making Cross References, Making Cross References
\section{Xref}
\cindex{Xref for cross references}
\findex{xref}
\findex{ref}
\findex{pageref}
\cindex{Cross references using xref}

\code{\back xref} generates a cross-reference.  In \LaTeX info, it turns into
an Info cross-reference which the Info \samp{f} command can use
to go directly to another node.  In \LaTeX, it turns into a sentence
of the form

\begin{example}
See section \var{section} [\var{topic}], page \var{page}
\end{example}

\noindent
but does not generate a period to end it.

\code{\back xref} must refer to an Info node created by 
\code{\back node}, by the node's name.  It uses the \LaTeX\ commands 
\code{ref} and \code{pageref}.

\code{\back xref} is followed by an argument inside braces; but actually the
text inside the braces is treated as several arguments, separated by
commas.  Whitespace after these commas is ignored.  A period or comma
\strong{must} follow the closing brace of a \code{\back xref}.  It is required
to terminate the cross reference.  This period or comma will appear in
the output, both in the Info file and in the printed manual.

The simplest form of \code{\back xref} takes one argument, the name of another
blank line and then the output text for Info files and the output text for
printed manuals.

\begin{example}
\back xref\{node-name\}, for more info.

*note node-name::, for more info.
\end{example}

\begin{quotation}
See section \var{nnn} [node-name], page \var{ppp}, for more info.
\end{quotation}

With two arguments, the second one is used as the name of the Info
cross-reference, while the first argument is still the node that the
cross-reference points to:

\begin{example}
\back xref\{node-name, name-for-note\}, for more info.

*note name-for-note: node-name, for more info.
\end{example}

\begin{quotation}
See section \var{nnn} [node-name], page \var{ppp}, for more info.
\end{quotation}

A third argument replaces the node name when it actually appears in the
\LaTeX\ output.  It should state the topic discussed by the section being
referenced.  Often, you will want to use initial uppercase letters so it
will be easier to read when the reference is printed.  Use a third argument
when the node name is unsuitable because of syntax, grammar or diction.

\begin{example}
\back xref\{node-name, name-for-note, Topic Description\}, for more info.

*note name-for-note: node-name, for more info.
\end{example}

\begin{quotation}
See section \var{nnn} [Topic Description], page \var{ppp}, for more info.
\end{quotation}

If a third argument is given and the second one is empty,
then the third argument serves both purposes:

\begin{example}
\back xref\{node-name, , Topic Description\}, for more info.

*note Topic Description: node-name, for more info.
\end{example}

\begin{quotation}
See section \var{nnn} [Topic Description], page \var{ppp}, for more info.
\end{quotation}

A fourth argument specifies the name of the Info file in which the
referenced node is located, assuming it is not the one in which the
reference appears.  \code{\back xref} with only four arguments is used
when the reference is not within one Info file, but is within a single
printed manual---when multiple \LaTeX info files are incorporated into
the same \LaTeX\ run but make separate Info files.  (This is seldom the
case and usually you will use five arguments if you are making a
reference that is outside the current Info file.)

\begin{example}
\back xref\{node-name, name-for-note, Topic, info-file-name\}, 
for more info.

*note name-for-note: (info-file-name) node-name, for more info.
\end{example}

\begin{quotation}
See section \var{nnn} [Topic], page \var{ppp}, for more info.
\end{quotation}

A fifth argument is used when you are making a reference to another Info
file which is also part of another printed manual.  Write the title of the
manual in this slot.  Since a different manual is made during a different
\LaTeX\ run, the printed reference will not have a page number.

\noindent
Whenever you refer to another manual, use this version of \code{\back xref}
with five arguments.

\begin{example}
\back xref\{node-name, name-for-note, Topic, info-file-name, A Printed Manual\},
for more info.

*note name-for-note: (info-file-name) node-name, for more info.
\end{example}

\begin{quotation}
See section Topic of \i{A Printed Manual}, for more info.
\end{quotation}

\noindent
The name of the printed manual will be typeset in italics.

Often, you will leave out the second argument when you use the long version
of \code{\back xref}.  In this case, the third argument, the topic description,
will replace the node name:


\begin{example}
\back xref\{node-name, , Topic Description, info-file-name, A Printed Manual\},
for more info.

*note Topic Description: (info-file-name) node-name, for more info.
\end{example}

\begin{quotation}
See section Topic Description of \i{A Printed Manual}, for more info.
\end{quotation}

\clearpage
\node Pxref, Inforef, Xref, Making Cross References
\section{Pxref}
\cindex{Pxref}
\cindex{Cross references using pxref}
\cindex{Pxref for cross references}
\findex{pxref}

\code{\back pxref} is nearly the same as \code{\back xref}; it differs
in only two ways:

\begin{enumerate}
\item
The output starts with lower case `see' rather than `See'.\refill
\item
A period is generated automatically in the Info file output to end the Info
cross-reference, but no period is generated for the printed manual.\refill
\end{enumerate}

The purpose of \code{\back pxref} is to be used inside parentheses as part of
another sentence.  In the printed manual, no period is needed after the
cross reference text itself (within the parentheses), but a period is
needed after the cross reference text in the Info file because only thus
can Info recognize the end of the cross-reference.  \code{\back pxref} spares
you the need to use complicated methods to put a period into one form of
the output and not the other.

\code{\back pxref} can be used with up to five arguments just like
\code{\back xref}.  (\xref{Xref}.)\refill

\node Inforef, Formatting Paragraphs, Pxref, Making Cross References
\section{Inforef}
\cindex{Inforef for cross references}
\cindex{Cross references using inforef}
\findex{inforef}

\code{\back inforef} is used for cross-references to Info files for
which there are no printed manuals.  Even in a printed manual,
\code{\back inforef} generates a reference directing the user to look in
an Info file.  \code{\back inforef} takes exactly three arguments.  The
syntax is \code{\back inforef\{\var{node}, \var{name}, \var{file}\}}.

\begin{example}
\back inforef\{node-name, name-for-note, info-file-name\}, for more information.

*note name-for-note: (info-file-name) node-name, for more information.
\end{example}

\begin{quotation}
See Info file \file{info-file-name}, node `node-name', for more information.
\end{quotation}

\node Formatting Paragraphs, Refilling Paragraphs and Preventing Indentation, Inforef, Top
\chapter{Formatting Paragraphs}
\cindex{Formatting paragraphs}
\cindex{Paragraphs, formatting}

Usually, a \LaTeX info file will be processed both by \LaTeX\ and by the
\kbd{M-x latexinfo-format-buffer} command.  Consequently, you must make sure
that text will come out looking right both in the printed manual and in the
on-line help.\refill

For example, unless told otherwise, \kbd{M-x latexinfo-format-buffer} will
not refill a paragraph after processing it although \LaTeX\ will.  This
means that a paragraph with numerous or large commands may not look
properly filled after processing by Info.  The commands are removed from
the text but the lines are not refilled so some are much shorter than they
were.  To cause the \kbd{M-x latexinfo-format-buffer} command to refill such
a paragraph, put \code{\back refill} at the end of the paragraph.\refill

\findex{same}
\LaTeX\ may also format a document improperly.  For example, page breaks may
occur in the ``wrong place''; to control this, text can be held together by a
\code{same} command that keeps the text within the group from being split 
across two pages.

\begin{iftex}
The first section that follows is about refilling and preventing
indentation; the second section is about line and paragraph breaks,
creating blank lines, and grouping text.
\end{iftex}


\begin{menu}
* Refilling Paragraphs and Preventing Indentation::
* Breaks Blank Lines and Groups::
\end{menu}

\node Refilling Paragraphs and Preventing Indentation, Refill, Formatting Paragraphs, Formatting Paragraphs
\section{Refilling Paragraphs and Preventing Indentation}
\cindex{Refilling paragraphs automatically}
\cindex{Preventing indentation in the printed text}

The \code{\back refill} and \code{\back noindent} commands are used just
after or just before paragraphs which, after processing by either Info
or \LaTeX, might look bad.  The \code{\back refill} command refills a
paragraph in the Info file after all the other processing has been done.
In the printed manual, the \code{\back noindent} command prevents a
piece of text that is a continuation of the preceding paragraph from
being indented as if it were a new paragraph.\refill

\begin{menu}
* Refill::	Refilling an info paragraph after other processing.
* Noindent::	Preventing paragraph indentation in continuation text.
\end{menu}

\node Refill, Noindent, Refilling Paragraphs and Preventing Indentation, Refilling Paragraphs and Preventing Indentation
\subsection{Refill}
\cindex{Refill}
\findex{refill}

If a paragraph contains sizable constructs, it may look badly filled
after \code{latexinfo-format-buffer} is through with it.  Put
\code{\back refill} at the end of the paragraph to tell
\code{latexinfo-format-buffer} to refill the paragraph after finishing
all other processing on it.  \code{\back refill} has no effect on
\LaTeX, which always fills everything that ought to be filled.  For
example,\refill

\begin{example}
To use \back code\{foo\}, pass \back samp\{xx%$\} and \back var\{flag\} and type \back kbd\{x\}
after running \back code\{make-foo\}.\back refill
\end{example}

\noindent
produces (in the Info file)

\begin{example}
To use `foo', pass `xx%$' and FLAG and type `x' after running `make-foo'.
\end{example}

\noindent
whereas without the \code{\back refill} it would produce

\begin{example}
To use `foo', pass `xx%$' and FLAG and type `x'
after running `make-foo'.
\end{example}

\noindent
with the line broken at the same place as in the \LaTeX info input file.

Do not put a space before \code{\back refill}; otherwise the command might be
put at the beginning of the line when you refill the paragraph in the
\LaTeX info file with \kbd{M-q} (\code{fill-paragraph}).  If this were to
happen, the \code{\back refill} command might fail to work.

\node Noindent, Breaks Blank Lines and Groups, Refill, Refilling Paragraphs and Preventing Indentation
\subsection{Noindent}
\cindex{Noindent}
\findex{noindent}

If you have text following a \code{example} or other similar ``special
paragraph'' that reads as a continuation of the text before the
\code{example}, it is good to prevent this text from being indented as a
new paragraph.  To accomplish this, put \code{\back noindent} on a line
by itself before the start of the text that should not be indented. For
example,\refill

\begin{example}
\back begin\{example\}
This is an example
\back end\{example\}

\back noindent
This line will not be indented.
\end{example}

\noindent
produces

\begin{example}
This is an example
\end{example}

\noindent
This line will not be indented.

To adjust the number of blank lines properly in the Info file output,
remember that the line containing \code{\back noindent} does not generate a
blank line, and neither does the \code{\back end\{example\}} line.

In the \LaTeX info source file for this documentation, each of the lines that
says `produces' is preceded by a line containing \code{\back noindent}.

\node Breaks Blank Lines and Groups, Line Breaks, Noindent, Formatting Paragraphs
\section{Breaks Blank Lines and Groups}
\cindex{Breaks Blank Lines and Groups}

\LaTeX info has several commands for making blank lines, for forcing paragraph
and page breaks in the printed manual and for preventing text from running
from one page to the next.

\begin{description}
\item[\back *]
Force a line break in the printed manual.  This
command has no effect on the Info file.\refill

\item[\back sp]
Generate blank lines in both the printed manual and in the Info file.\refill

\item[\back br]
Force a paragraph break in the printed manual.  This command has no effect
on the Info file.\refill

\item[\back w]
Prevent text from being split across two lines in the printed manual.  This
command has no effect on the Info file.\refill

\item[\back clearpage]
Start a new page in the printed manual.  This
command has no effect on the Info file.\refill

\item[\back begin\{same\}]
Hold text together that must appear on one printed page.  This
command has no effect on the Info file.\refill

\end{description}

\begin{menu}
* Line Breaks::
* Line Spacing::
* Paragraph Breaks::
* Preventing A Line Break::
* Clearpage::
* Same Environment::
\end{menu}

\node Line Breaks, Line Spacing, Breaks Blank Lines and Groups, Breaks Blank Lines and Groups
\subsection{Line Breaks}
\findex{asterisk}
\findex{*}
\cindex{Line breaks}
\cindex{Breaks in a line}

\code{\back *} forces a line break in the printed manual.  It has no effect on
the Info file output, where line breaks follow those in the source file.
If you want a line break at a certain spot in both forms of output, break
the line there in the source file and put \code{\back *} at the end of the
line.


\node Line Spacing, Paragraph Breaks, Line Breaks, Breaks Blank Lines and Groups
\subsection{Line Spacing}
\findex{sp (line spacing)}
\cindex{Spaces from line to line}
\cindex{Line spacing}

A line containing \code{\back sp\{\var{n}\}} generates \var{n} blank lines of
space in either the printed manual or the Info file.  For example,

\begin{example}
\back sp\{2\}
\end{example}

\noindent
generates two blank lines.  

\node Paragraph Breaks, Preventing A Line Break, Line Spacing, Breaks Blank Lines and Groups
\subsection{Paragraph Breaks}
\findex{br (paragraph breaks)}
\cindex{Paragraph breaks}
\cindex{Breaks in a paragraph}

In a printed manual, a line containing \code{\back br} forces a paragraph
break; in the Info file output, it does nothing (not even a blank line
results from it).

\node Preventing A Line Break, Clearpage, Paragraph Breaks, Breaks Blank Lines and Groups
\subsection{Preventing A Line Break}
\cindex{Preventing A Line Break}
\findex{w (preventing a line break)}
\cindex{Line breaks, preventing}

In a printed manual, \code{\back w\{\var{text}\}} outputs \var{text} and
prohibits line breaks within \var{text}.  \code{\back w} has no effect
on the Info file output; it is the same as would result from just
\var{text}.


\node Clearpage, Same Environment, Preventing A Line Break, Breaks Blank Lines and Groups
\subsection{Clearpage}
\cindex{Clearpage}
\cindex{Page breaks}
\findex{clearpage}

A line containing \code{\back page} starts a new page in a printed manual.  The
line has no effect on Info files since they are not paginated.

\node Same Environment, Marking Text Within a Paragraph, Clearpage, Breaks Blank Lines and Groups
\subsection{Same Environment}
\cindex{Same Environment}
\cindex{Holding text together vertically}
\cindex{Vertically holding text together}
\findex{same}

A line with \code{\back begin\{same\}} begins an unsplittable vertical
group, which must appear entirely on one page.  The group is terminated
by a line containing \code{\back end\{same\}}.  These two lines produce
no output of their own, and in the Info file output they have no effect
at all.

If you forget to end a group, you may get strange and unfathomable error
messages when you run \LaTeX.  This is because \LaTeX\ keeps trying to
put the rest of the \LaTeX info file into the group and error messages
do not start to get generated until \LaTeX\ has gone a long way.  It's a
good rule of thumb to look for a missing \code{\back end\{same\}} if you
get incomprehensible error messages in \LaTeX.

\node Marking Text Within a Paragraph, Specifying Definitions Files and Commands, Same Environment, Top
\chapter{Marking Text Within a Paragraph}
\cindex{Marking Text Within a Paragraph}
\cindex{Marking text within a paragraph}

In \LaTeX info, text within a paragraph can be marked in a variety of ways.
The most important way is to specify whether a word or phrase is a
definition, a metasyntactic variable, a literal example of a program or
what not.

In addition, there are special commands for inserting single characters 
that have special meaning in \LaTeX info, such as braces, and for inserting
symbols with special handling, such as dots and bullets.  Finally, there
are ways to emphasize words.


\begin{menu}
* Specifying Definitions Files and Commands::
* Inserting Braces Backslashes Periods::
* Inserting Dots Bullets and TeX::
* Emphasizing Text::
\end{menu}

\node Specifying Definitions Files and Commands, Code, Marking Text Within a Paragraph, Marking Text Within a Paragraph
\section{Specifying Definitions Files and Commands}
\cindex{Highlighting}
\cindex{Specifying commands, files and the like}
\cindex{Definitions, specifying them within text}
\cindex{Commands, specifying them within text}
\cindex{Files, specifying them within text}

\LaTeX info has a variety of commands for specifying just what kind of object a
piece of text refers to.  Metasyntactic variables, for example, are marked
by one command and code by another.  \LaTeX info uses this
information to determine how to highlight the text.  Since the pieces of
text are labelled by commands that tell what kind of object they are, it is
easy to change the way \LaTeX info formats and typesets such text.  For
example, code is usually illustrated in a typewriter font, but it would be
easy to change the way \LaTeX info highlights code to use another font.
This change would not effect how metasyntatic variables are highlighted.
If straight typesetting commands were used in the body of the file, you
would have to check every single occurrence to make sure that you were
changing code and not something else that should not be changed.

In addition, the commands can be used to generate useful information from
the file, such as lists of functions or file names.  It is possible, for
example, to write code in Emacs Lisp (or a keyboard macro) to insert an
index entry after every paragraph that contains the text labelled by a
specified command.  You could do this to construct an index of functions if
you had not already made the entries.

The commands serve a variety of purposes:

\begin{description}
\item[\back code]
Indicates text that is a literal example of a piece of a program.\refill

\item[\back samp]
Indicates text that is a literal example of a sequence of characters.\refill

\item[\back file]
Indicates the name of a file.\refill

\item[\back kbd]
Indicates the names of keys on the keyboard or characters you type.\refill

\item[\back key]
Used for the conventional name for a key on a keyboard.\refill

\item[\back ctrl]
Indicates an ASCII control character.

\item[\back var]
Indicates a metasyntactic variable.

\item[\back dfn]
Indicates the introductory or defining use of a term.

\item[\back cite]
Indicates the name of a Bib\TeX\ entry.
\end{description}


\begin{menu}
* Code::	A literal example of a piece of a program.
* Samp::	A literal example of a sequence of characters.
* File::	The name of a file.
* Kbd::		The names of keys or else characters you type.
* Key::		The conventional name for a key on a keyboard.
* Ctrl::	Indicates the ASCII control character.
* Var::		A variable.
* Dfn::		The introductory or defining use of a term.
* Cite::	The name of a BiBTeX entry.
\end{menu}

\node Code, Samp, Specifying Definitions Files and Commands, Specifying Definitions Files and Commands
\subsection{Code}
\cindex{Code}
\findex{code}

\code{\back code} is used to indicate text that is a piece of a program which
consists of entire syntactic tokens.  The text follows, enclosed in braces.

For example, \code{\back code} is used for an expression in a program,
the name of a variable or function used in a program, or a keyword.
\code{\back code} is not used for a piece of a token, such as when
speaking about the characters used in a token; for example, when you are
explaining what letters or printable symbols can be used in the names of
functions.  It is also not used for input to programs unless the input
is written in a language that is like a programming language.  For
example, it is not used for the single character commands of GNU Emacs
although it is used for the names of Emacs Lisp functions that the
keyboard commands invoke.  You should also \code{\back code} for command
names in command languages that resemble programming languages, such as
\LaTeX info or the shell.

In the printed manual, \code{\back code} puts the argument in bold face.
In the Info file, it uses `\dots' quotation.  For example:

\begin{example}
To compare two files, showing text inserted or removed, use \back code\{diff\}.
\end{example}

\noindent
produces

\begin{quotation}
To compare two files, showing text inserted or removed, use \code{diff}.
\end{quotation}

\begin{iftex}
In the Info file, it looks like this:

\begin{example}
\dots, use `diff'
\end{example}
\end{iftex}

\node Samp, File, Code, Specifying Definitions Files and Commands
\subsection{Samp}
\cindex{Samp}
\findex{samp}

\code{\back samp} is used to indicate text that is a literal example of a
sequence of characters in a file, string, pattern, etc.  The text follows,
enclosed in braces.  The argument appears within `\dots' quotation in
both the Info file and the printed manual; in addition, it is printed in a
fixed-width font.

\begin{example}
To match \back samp\{foo\} at the end of the line, use the regexp \back samp\{foo$\}.
\end{example}

\noindent
produces

\begin{quotation}
To match \samp{foo} at the end of the line, use the regexp \samp{foo$}.
\end{quotation}

Punctuation marks that are part of the English text that surrounds the
strings you are specifying are \emph{never} included within the braces.
In the following sentence, for example, the commas and period are
outside of the braces:

\begin{example}
A symbol name ends in \back samp\{a\}, \back samp\{b\}, or \back samp\{c\}.
\end{example}

\node File, Kbd, Samp, Specifying Definitions Files and Commands
\subsection{File}
\cindex{File}
\findex{file}

\code{\back file} is used to indicate text that is the name of a file or
directory.  Currently, it is equivalent to \code{\back samp} in its effects on
the output.  For example,\refill

\begin{example}
The \back file\{.el\} files are in 
the \back file\{/gnu/emacs/lisp\} directory.
\end{example}

\noindent
produces

\begin{quotation}
The \file{.el} files are in 
the \file{/gnu/emacs/lisp} directory.
\end{quotation}

\node Kbd, Key, File, Specifying Definitions Files and Commands
\subsection{Kbd}
\cindex{Kbd}
\findex{kbd}

\code{\back kbd} is used much like \code{\back code}.  The difference is that
\code{\back kbd} is for names of keys on the keyboard, or of characters you can
type.  For example, to refer to the command \kbd{M-a}, you would use

\begin{example}
\back kbd\{M-a\}
\end{example}

\noindent
and to refer to \kbd{M-x shell}, you would use

\begin{example}
\back kbd\{M-x shell\}
\end{example}

The \code{\back kbd} command has the same effect as \code{\back code} in Info,
but may produce a different font in a printed manual.\refill

You can embed another command inside the braces of a \code{\back kbd}
command.  This is the way to describe a command that would be described
more verbosely as ``press an \samp{r} and then press the \key{RET} key'':

\begin{example}
\back kbd\{r \back key\{RET\}\}  
\end{example}

\noindent
This produces: \kbd{r \key{RET}}

You also use the \code{\back kbd} command if you are spelling out the letters
you type; for example:

\begin{example}
To give the \back code\{logout\} command, 
type the characters \back kbd\{l o g o u t \back key\{RET\}\}.
\end{example}

\noindent
This produces

\begin{quotation}
To give the \code{logout} command, 
type the characters \kbd{l o g o u t \key{RET}}.
\end{quotation}

\node Key, Ctrl, Kbd, Specifying Definitions Files and Commands
\subsection{Key}
\cindex{Key}
\findex{key}

\code{\back key} is used for the conventional name for a key on a
keyboard, as in

\begin{example}
\back key\{RET\}
\end{example}

Often, \code{\back key} is used within the argument of a \code{\back kbd}
command, whenever the sequence of characters to be typed includes one or
more keys that are described by name.\refill

For example, to produce \kbd{C-x \key{ESC}} you would use 

\begin{example}
\back kbd\{C-x \back key\{ESC\}\}
\end{example}

The recommended names to use for keys are in upper case and are

\begin{description}
\item[SPC]
Space.
\item[RET]
Return.
\item[LFD]
Linefeed.
\item[TAB]
Tab.
\item[BS]
Backspace.
\item[ESC]
Escape.
\item[DEL]
Delete.
\item[SFT]
Shift.
\item[CTL]
Control.
\item[META]
Meta.
\end{description}

There are subtleties to handling words like `meta' or `ctrl' which are
names of shift keys.  When mentioning a character in which the shift key is
used, such as \kbd{Meta-a}, use the \code{\back kbd} command alone without the
\code{\back key} command, but when you are referring to shift key in isolation,
use the \code{\back key} command.  For example, you would use 
\samp{\back kbd\{Meta-a\}} to produce \kbd{Meta-a} and 
\samp{\back key\{META\}} to produce \key{META}.

\node Ctrl, Var, Key, Specifying Definitions Files and Commands
\subsection{Ctrl}
\cindex{Ctrl}
\findex{ctrl}

\code{\back ctrl} is used to describe an ASCII control character.  The pattern
of usage is \code{\back ctrl\{\var{ch}\}}, where \var{ch} is an ASCII character
whose control-equivalent is wanted.  Thus, you put in an \samp{f} when
you want to indicate a \samp{control-f}

Thus, to specify \samp{control-f}, you would enter

\begin{example}
\back ctrl\{f\}
\end{example}

\noindent
which produces

\begin{quotation}
\ctrl{f}
\end{quotation}

In the Info file, this generates the specified control character, output
literally into the file.  This is done so a user can copy the specified
control character (along with whatever else he or she wants) into another
Emacs buffer and use it.  Since the `control-h',`control-i', and
`control-j' characters are formatting characters, they should not be
indicated this way.\refill

In a printed manual, this generates text to describe or identify that
control character: an uparrow followed by the character \var{ch}.

\node Var, Dfn, Ctrl, Specifying Definitions Files and Commands
\subsection{Var}
\cindex{Var}
\findex{var}

\code{\back var} is used to indicate metasyntactic variables.  A metasyntactic
variable is something that stands for another piece of text.  You would use
a metasyntactic variable in the documentation of a function to describe the
arguments that are passed to that function.

\code{\back var} is not used for names of particular variables in programming
languages.  For example, the \LaTeX info variable \code{latexinfo-tex-command} is
not a metasyntactic variable.

Its effect in the Info file is to upcase the argument; in the printed
manual, to italicize it.  Example:

\begin{example}
To delete file \back var\{filename\}, type \back code\{rm \back var\{filename\}\}.
\end{example}

\noindent
produces

\begin{quotation}
To delete file \var{filename}, type \code{rm \var{filename}}.
\end{quotation}

In some documentation styles, metasyntactic variables are shown with angle
brackets, for example: 

\begin{example}
\dots, type rm <filename>
\end{example}

\node Dfn, Cite, Var, Specifying Definitions Files and Commands
\subsection{Dfn}
\cindex{Dfn}
\findex{dfn}

\code{\back dfn} is used to identify the introductory or defining use of a
technical term.  The command should be used only in a passage whose purpose
is to introduce a term which will be used again or which the reader ought
to know.  Mere passing mention of a term for the first time doesn't deserve
\code{\back dfn}.  It generates italics in the printed manual, and double
quotation marks in the Info file.  Example:

\begin{example}
Getting rid of a file is called \back dfn\{deleting\} it.
\end{example}

\noindent
produces

\begin{quotation}
Getting rid of a file is called \dfn{deleting} it.
\end{quotation}

\node Cite, Inserting Braces Backslashes Periods, Dfn, Specifying Definitions Files and Commands
\subsection{Cite}
\cindex{Cite}
\findex{cite}

\code{\back cite} is the \LaTeX\  command for a bibliographic citations.
Citations are prepared using the program \t{BibTeX}, which formats the
citations for use with \LaTeX.  The argument to the \code{\back cite}
command is the citation key, which appears in the printed manual as the
citation key surrounded by square brackets.  How it appears in the printed
manual is dependent on the bibliographic style chosen.
See the \LaTeX\ Manual for more details (\cite{Lamport}).\refill

Before you use the \code{\back cite} command, you must declare the
bibliography style that you are going to use.
\xref{Making a Bibliography}.


\node Inserting Braces Backslashes Periods, Inserting A Backslash, Cite, Marking Text Within a Paragraph
\section{Inserting Braces Backslashes Periods}
\cindex{Braces, inserting}
\cindex{Periods, inserting}
\cindex{Single characters,  commands to insert}
\cindex{Commands to insert single characters}

\samp{\back } and curly braces are special characters in \LaTeX info.  
To insert a parenthese you have to put a \samp{\back } in front of these
characters in order to insert them into text.  To insert a backslash,
you must use the \code{\back back} command.

Periods are also special.  Depending on whether the period is inside of or
at the end of a sentence, less or more space is inserted after a period in
a typeset manual.  Since it is not always possible for \LaTeX info to determine
when a period ends a sentence and when it is used in an abbreviation,
special commands are needed.  (Usually, \LaTeX info figures out how to handle
periods, so you don't have to use the special commands; you just enter a
period as you would if you were using a typewriter, which means you put two
spaces after the period that ends a sentence and after a colon.)\refill

\begin{menu}
* Inserting A Backslash::		Inserting A Backslash.
* Insert Left Brace::		Inserting a left brace.
* Insert Colon::		Preventing unintended additional whitespace.
* Insert Period:: 		Inserting a period that does end a sentence.
\end{menu}

\node Inserting A Backslash, Insert Left Brace, Inserting Braces Backslashes Periods, Inserting Braces Backslashes Periods
\subsection{Inserting A Backslash}
\cindex{Inserting A Backslash}

\code{\back back} stands for a backslash in either printed or Info output.
Do not use \code{\back back} in chapter-structuring commands, or in the
arguments to a \code{\back node} command.

You must follow a \code{\back back} by a space in an \code{example} or
\code{display} environment.  This following space will be deleted in both
