1166 lines
43 KiB
Plaintext
1166 lines
43 KiB
Plaintext
This is Info file texi.info, produced by Makeinfo-1.55 from the input
|
||
file texi.texi.
|
||
|
||
This file documents Texinfo, a documentation system that uses a
|
||
single source file to produce both on-line information and a printed
|
||
manual.
|
||
|
||
Copyright (C) 1988, 1990, 1991, 1992, 1993 Free Software Foundation,
|
||
Inc.
|
||
|
||
This is the second edition of the Texinfo documentation,
|
||
and is consistent with version 2 of `texinfo.tex'.
|
||
|
||
Permission is granted to make and distribute verbatim copies of this
|
||
manual provided the copyright notice and this permission notice are
|
||
preserved on all copies.
|
||
|
||
Permission is granted to copy and distribute modified versions of
|
||
this manual under the conditions for verbatim copying, provided that
|
||
the entire resulting derived work is distributed under the terms of a
|
||
permission notice identical to this one.
|
||
|
||
Permission is granted to copy and distribute translations of this
|
||
manual into another language, under the above conditions for modified
|
||
versions, except that this permission notice may be stated in a
|
||
translation approved by the Free Software Foundation.
|
||
|
||
|
||
File: texi.info, Node: Debugging with TeX, Next: Using texinfo-show-structure, Prev: Debugging with Info, Up: Catching Mistakes
|
||
|
||
Catching Errors with TeX Formatting
|
||
===================================
|
||
|
||
You can also catch mistakes when you format a file with TeX.
|
||
|
||
Usually, you do this after you have run `texinfo-format-buffer' (or,
|
||
better, `makeinfo-buffer') on the same file, because
|
||
`texinfo-format-buffer' sometimes displays error messages that make
|
||
more sense than TeX. (*Note Debugging with Info::, for more
|
||
information.)
|
||
|
||
For example, TeX was run on a Texinfo file, part of which is shown
|
||
here:
|
||
|
||
---------- Buffer: texinfo.texi ----------
|
||
name of the texinfo file as an extension. The
|
||
@samp{??} are `wildcards' that cause the shell to
|
||
substitute all the raw index files. (@xref{sorting
|
||
indices, for more information about sorting
|
||
indices.)@refill
|
||
---------- Buffer: texinfo.texi ----------
|
||
|
||
(The cross reference lacks a closing brace.) TeX produced the following
|
||
output, after which it stopped:
|
||
|
||
---------- Buffer: *texinfo-tex-shell* ----------
|
||
Runaway argument?
|
||
{sorting indices, for more information about sorting
|
||
indices.) @refill @ETC.
|
||
! Paragraph ended before @xref was complete.
|
||
<to be read again>
|
||
@par
|
||
l.27
|
||
|
||
?
|
||
---------- Buffer: *texinfo-tex-shell* ----------
|
||
|
||
In this case, TeX produced an accurate and understandable error
|
||
message:
|
||
|
||
Paragraph ended before @xref was complete.
|
||
|
||
`@par' is an internal TeX command of no relevance to Texinfo. `l.27'
|
||
means that TeX detected the problem on line 27 of the Texinfo file.
|
||
The `?' is the prompt TeX uses in this circumstance.
|
||
|
||
Unfortunately, TeX is not always so helpful, and sometimes you must
|
||
truly be a Sherlock Holmes to discover what went wrong.
|
||
|
||
In any case, if you run into a problem like this, you can do one of
|
||
three things.
|
||
|
||
1. You can tell TeX to continue running and ignore just this error by
|
||
typing RET at the `?' prompt.
|
||
|
||
2. You can tell TeX to continue running and to ignore all errors as
|
||
best it can by typing `r RET' at the `?' prompt.
|
||
|
||
This is often the best thing to do. However, beware: the one error
|
||
may produce a cascade of additional error messages as its
|
||
consequences are felt through the rest of the file. (To stop TeX
|
||
when it is producing such an avalanche of error messages, type
|
||
`C-d' (or `C-c C-d', if you are running a shell inside Emacs
|
||
Version 18.))
|
||
|
||
3. You can tell TeX to stop this run by typing `x RET' at the `?'
|
||
prompt.
|
||
|
||
Please note that if you are running TeX inside Emacs, you need to
|
||
switch to the shell buffer and line at which TeX offers the `?' prompt.
|
||
|
||
Sometimes TeX will format a file without producing error messages
|
||
even though there is a problem. This usually occurs if a command is
|
||
not ended but TeX is able to continue processing anyhow. For example,
|
||
if you fail to end an itemized list with the `@end itemize' command,
|
||
TeX will write a DVI file that you can print out. The only error
|
||
message that TeX will give you is the somewhat mysterious comment that
|
||
|
||
(@end occurred inside a group at level 1)
|
||
|
||
However, if you print the DVI file, you will find that the text of the
|
||
file that follows the itemized list is entirely indented as if it were
|
||
part of the last item in the itemized list. The error message is the
|
||
way TeX says that it expected to find an `@end' command somewhere in
|
||
the file; but that it could not determine where it was needed.
|
||
|
||
Another source of notoriously hard-to-find errors is a missing `@end
|
||
group' command. If you ever are stumped by incomprehensible errors,
|
||
look for a missing `@end group' command first.
|
||
|
||
If the Texinfo file lacks header lines, TeX may stop in the
|
||
beginning of its run and display output that looks like the following.
|
||
The `*' indicates that TeX is waiting for input.
|
||
|
||
This is TeX, Version 2.0 for Berkeley UNIX
|
||
(preloaded format=plain-cm 87.10.25)
|
||
(test.texinfo [1])
|
||
*
|
||
|
||
In this case, simply type `\end RET' after the asterisk. Then write
|
||
the header lines in the Texinfo file and run the TeX command again.
|
||
(Note the use of the backslash, `\'. TeX uses `\' instead of `@'; and
|
||
in this circumstance, you are working directly with TeX, not with
|
||
Texinfo.)
|
||
|
||
|
||
File: texi.info, Node: Using texinfo-show-structure, Next: Using occur, Prev: Debugging with TeX, Up: Catching Mistakes
|
||
|
||
Using `texinfo-show-structure'
|
||
==============================
|
||
|
||
It is not always easy to keep track of the nodes, chapters,
|
||
sections, and subsections of a Texinfo file. This is especially true
|
||
if you are revising or adding to a Texinfo file that someone else has
|
||
written.
|
||
|
||
In GNU Emacs, in Texinfo mode, the `texinfo-show-structure' command
|
||
lists all the lines that begin with the @-commands that specify the
|
||
structure: `@chapter', `@section', `@appendix', and so on. With an
|
||
argument (`C-u' as prefix argument, if interactive), the command also
|
||
shows the `@node' lines. The `texinfo-show-structure' command is bound
|
||
to `C-c C-s' in Texinfo mode, by default.
|
||
|
||
The lines are displayed in a buffer called the `*Occur*' buffer.
|
||
For example, when `texinfo-show-structure' was run on an earlier
|
||
version of this appendix, it produced the following:
|
||
|
||
Lines matching "^@\\(chapter \\|sect\\|sub\\|unnum\\|major\\|
|
||
heading \\|appendix\\)" in buffer texinfo.texi.
|
||
4:@appendix Formatting Mistakes
|
||
52:@appendixsec Catching Errors with Info Formatting
|
||
222:@appendixsec Catching Errors with @TeX{} Formatting
|
||
338:@appendixsec Using @code{texinfo-show-structure}
|
||
407:@appendixsubsec Using @code{occur}
|
||
444:@appendixsec Finding Badly Referenced Nodes
|
||
513:@appendixsubsec Running @code{Info-validate}
|
||
573:@appendixsubsec Splitting a File Manually
|
||
|
||
This says that lines 4, 52, and 222 of `texinfo.texi' begin with the
|
||
`@appendix', `@appendixsec', and `@appendixsec' commands respectively.
|
||
If you move your cursor into the `*Occur*' window, you can position the
|
||
cursor over one of the lines and use the `C-c C-c' command
|
||
(`occur-mode-goto-occurrence'), to jump to the corresponding spot in
|
||
the Texinfo file. *Note Using Occur: (emacs)Other Repeating Search,
|
||
for more information about `occur-mode-goto-occurrence'.
|
||
|
||
The first line in the `*Occur*' window describes the "regular
|
||
expression" specified by TEXINFO-HEADING-PATTERN. This regular
|
||
expression is the pattern that `texinfo-show-structure' looks for.
|
||
*Note Using Regular Expressions: (emacs)Regexps, for more information.
|
||
|
||
When you invoke the `texinfo-show-structure' command, Emacs will
|
||
display the structure of the whole buffer. If you want to see the
|
||
structure of just a part of the buffer, of one chapter, for example,
|
||
use the `C-x n' (`narrow-to-region') command to mark the region.
|
||
(*Note Narrowing: (emacs)Narrowing.) This is how the example used
|
||
above was generated. (To see the whole buffer again, use `C-x w'
|
||
(`widen').)
|
||
|
||
If you call `texinfo-show-structure' with a prefix argument by
|
||
typing `C-u C-c C-s', it will list lines beginning with `@node' as well
|
||
as the lines beginning with the @-sign commands for `@chapter',
|
||
`@section', and the like.
|
||
|
||
You can remind yourself of the structure of a Texinfo file by
|
||
looking at the list in the `*Occur*' window; and if you have mis-named
|
||
a node or left out a section, you can correct the mistake.
|
||
|
||
|
||
File: texi.info, Node: Using occur, Next: Running Info-Validate, Prev: Using texinfo-show-structure, Up: Catching Mistakes
|
||
|
||
Using `occur'
|
||
=============
|
||
|
||
Sometimes the `texinfo-show-structure' command produces too much
|
||
information. Perhaps you want to remind yourself of the overall
|
||
structure of a Texinfo file, and are overwhelmed by the detailed list
|
||
produced by `texinfo-show-structure'. In this case, you can use the
|
||
`occur' command directly. To do this, type
|
||
|
||
`M-x occur'
|
||
|
||
and then, when prompted, type a "regexp", a regular expression for the
|
||
pattern you want to match. (*Note Regular Expressions:
|
||
(emacs)Regexps.) The `occur' command works from the current location
|
||
of the cursor in the buffer to the end of the buffer. If you want to
|
||
run `occur' on the whole buffer, place the cursor at the beginning of
|
||
the buffer.
|
||
|
||
For example, to see all the lines that contain the word `@chapter'
|
||
in them, just type `@chapter'. This will produce a list of the
|
||
chapters. It will also list all the sentences with `@chapter' in the
|
||
middle of the line.
|
||
|
||
If you want to see only those lines that start with the word
|
||
`@chapter', type `^@chapter' when prompted by `occur'. If you want to
|
||
see all the lines that end with a word or phrase, end the last word
|
||
with a `$'; for example, `catching mistakes$'. This can be helpful
|
||
when you want to see all the nodes that are part of the same chapter or
|
||
section and therefore have the same `Up' pointer.
|
||
|
||
*Note Using Occur: (emacs)Other Repeating Search, for more
|
||
information.
|
||
|
||
|
||
File: texi.info, Node: Running Info-Validate, Prev: Using occur, Up: Catching Mistakes
|
||
|
||
Finding Badly Referenced Nodes
|
||
==============================
|
||
|
||
You can use the `Info-validate' command to check whether any of the
|
||
`Next', `Previous', `Up' or other node pointers fail to point to a
|
||
node. This command checks that every node pointer points to an
|
||
existing node. The `Info-validate' command works only on Info files,
|
||
not on Texinfo files.
|
||
|
||
The `makeinfo' program validates pointers automatically, so you do
|
||
not need to use the `Info-validate' command if you are using
|
||
`makeinfo'. You only may need to use `Info-validate' if you are unable
|
||
to run `makeinfo' and instead must create an Info file using
|
||
`texinfo-format-region' or `texinfo-format-buffer', or if you write an
|
||
Info file from scratch.
|
||
|
||
* Menu:
|
||
|
||
* Using Info-validate:: How to run `Info-validate'.
|
||
* Unsplit:: How to create an unsplit file.
|
||
* Tagifying:: How to tagify a file.
|
||
* Splitting:: How to split a file manually.
|
||
|
||
|
||
File: texi.info, Node: Using Info-validate, Next: Unsplit, Up: Running Info-Validate
|
||
|
||
Running `Info-validate'
|
||
-----------------------
|
||
|
||
To use `Info-validate', visit the Info file you wish to check and
|
||
type:
|
||
|
||
M-x Info-validate
|
||
|
||
(Note that the `Info-validate' command requires an upper case `I'. You
|
||
may also need to create a tag table before running `Info-validate'.
|
||
*Note Tagifying::.)
|
||
|
||
If your file is valid, you will receive a message that says "File
|
||
appears valid". However, if you have a pointer that does not point to
|
||
a node, error messages will be displayed in a buffer called `*problems
|
||
in info file*'.
|
||
|
||
For example, `Info-validate' was run on a test file that contained
|
||
only the first node of this manual. One of the messages said:
|
||
|
||
In node "Overview", invalid Next: Texinfo Mode
|
||
|
||
This meant that the node called `Overview' had a `Next' pointer that
|
||
did not point to anything (which was true in this case, since the test
|
||
file had only one node in it).
|
||
|
||
Now suppose we add a node named `Texinfo Mode' to our test case but
|
||
we do not specify a `Previous' for this node. Then we will get the
|
||
following error message:
|
||
|
||
In node "Texinfo Mode", should have Previous: Overview
|
||
|
||
This is because every `Next' pointer should be matched by a `Previous'
|
||
(in the node where the `Next' points) which points back.
|
||
|
||
`Info-validate' also checks that all menu entries and cross
|
||
references point to actual nodes.
|
||
|
||
Note that `Info-validate' requires a tag table and does not work
|
||
with files that have been split. (The `texinfo-format-buffer' command
|
||
automatically splits large files.) In order to use `Info-validate' on
|
||
a large file, you must run `texinfo-format-buffer' with an argument so
|
||
that it does not split the Info file; and you must create a tag table
|
||
for the unsplit file.
|
||
|
||
|
||
File: texi.info, Node: Unsplit, Next: Tagifying, Prev: Using Info-validate, Up: Running Info-Validate
|
||
|
||
Creating an Unsplit File
|
||
------------------------
|
||
|
||
You can run `Info-validate' only on a single Info file that has a
|
||
tag table. The command will not work on the indirect subfiles that are
|
||
generated when a master file is split. If you have a large file
|
||
(longer than 70,000 bytes or so), you need to run the
|
||
`texinfo-format-buffer' or `makeinfo-buffer' command in such a way that
|
||
it does not create indirect subfiles. You will also need to create a
|
||
tag table for the Info file. After you have done this, you can run
|
||
`Info-validate' and look for badly referenced nodes.
|
||
|
||
The first step is to create an unsplit Info file.
|
||
|
||
To prevent `texinfo-format-buffer' from splitting a Texinfo file
|
||
into smaller Info files, give a prefix to the `M-x
|
||
texinfo-format-buffer' command:
|
||
|
||
C-u M-x texinfo-format-buffer
|
||
|
||
or else
|
||
|
||
C-u C-c C-e C-b
|
||
|
||
When you do this, Texinfo will not split the file and will not create a
|
||
tag table for it.
|
||
|
||
|
||
File: texi.info, Node: Tagifying, Next: Splitting, Prev: Unsplit, Up: Running Info-Validate
|
||
|
||
Tagifying a File
|
||
----------------
|
||
|
||
After creating an unsplit Info file, you must create a tag table for
|
||
it. Visit the Info file you wish to tagify and type:
|
||
|
||
M-x Info-tagify
|
||
|
||
(Note the upper case I in `Info-tagify'.) This creates an Info file
|
||
with a tag table that you can validate.
|
||
|
||
The third step is to validate the Info file:
|
||
|
||
M-x Info-validate
|
||
|
||
(Note the upper case I in `Info-validate'.) In brief, the steps are:
|
||
|
||
C-u M-x texinfo-format-buffer
|
||
M-x Info-tagify
|
||
M-x Info-validate
|
||
|
||
After you have validated the node structure, you will be able to
|
||
rerun `texinfo-format-buffer' in the normal way so it will construct a
|
||
tag table and split the file automatically, or you can make the tag
|
||
table and split the file manually.
|
||
|
||
|
||
File: texi.info, Node: Splitting, Prev: Tagifying, Up: Running Info-Validate
|
||
|
||
Splitting a File Manually
|
||
-------------------------
|
||
|
||
You should split a large file or else let the
|
||
`texinfo-format-buffer' or `makeinfo-buffer' command do it for you
|
||
automatically. (Generally you will let one of the formatting commands
|
||
do this job for you. *Note Create an Info File::.)
|
||
|
||
The split-off files are called the indirect subfiles.
|
||
|
||
Info files are split to save memory. With smaller files, Emacs does
|
||
not have make such a large buffer to hold the information.
|
||
|
||
If an Info file has more than 30 nodes, you should also make a tag
|
||
table for it. *Note Using Info-validate::, for information about
|
||
creating a tag table. (Again, tag tables are usually created
|
||
automatically by the formatting command; you only need to create a tag
|
||
table yourself if you are doing the job manually. Most likely, you
|
||
will do this for a large, unsplit file on which you have run
|
||
`Info-validate'.)
|
||
|
||
Visit the Info file you wish to tagify and split and type the two
|
||
commands:
|
||
|
||
M-x Info-tagify
|
||
M-x Info-split
|
||
|
||
(Note that the `I' in `Info' is upper case.)
|
||
|
||
When you use the `Info-split' command, the buffer is modified into a
|
||
(small) Info file which lists the indirect subfiles. This file should
|
||
be saved in place of the original visited file. The indirect subfiles
|
||
are written in the same directory the original file is in, with names
|
||
generated by appending `-' and a number to the original file name.
|
||
|
||
The primary file still functions as an Info file, but it contains
|
||
just the tag table and a directory of subfiles.
|
||
|
||
|
||
File: texi.info, Node: Refilling Paragraphs, Next: Command Syntax, Prev: Catching Mistakes, Up: Top
|
||
|
||
Refilling Paragraphs
|
||
********************
|
||
|
||
The `@refill' command refills and, optionally, indents the first
|
||
line of a paragraph.(1) The `@refill' command is no longer important,
|
||
but we describe it here because you once needed it. You will see it in
|
||
many old Texinfo files.
|
||
|
||
Without refilling, paragraphs containing long @-constructs may look
|
||
bad after formatting because the formatter removes @-commands and
|
||
shortens some lines more than others. In the past, neither
|
||
`texinfo-format-region' nor `texinfo-format-buffer' refilled paragraphs
|
||
automatically. The `@refill' command had to be written at the end of
|
||
every paragraph to cause these formatters to fill them. (Both TeX and
|
||
`makeinfo' have always refilled paragraphs automatically.) Now, all
|
||
the Info formatters automatically fill and indent those paragraphs that
|
||
need to be filled and indented.
|
||
|
||
The `@refill' command causes both the `texinfo-format-region'
|
||
command and the `texinfo-format-buffer' command to refill a paragraph
|
||
in the Info file *after* all the other processing has been done. For
|
||
this reason, you can not use `@refill' with a paragraph containing
|
||
either `@*' or `@w{ ... }' since the refilling action will override
|
||
those two commands.
|
||
|
||
The `texinfo-format-region' and `texinfo-format-buffer' commands now
|
||
automatically append `@refill' to the end of each paragraph that should
|
||
be filled. They do not append `@refill' to the ends of paragraphs that
|
||
contain `@*' or `@w{ ...}' and therefore do not refill or indent them.
|
||
|
||
---------- Footnotes ----------
|
||
|
||
(1) Perhaps the command should have been called the
|
||
`@refillandindent' command, but `@refill' is shorter and the name was
|
||
chosen before indenting was possible.
|
||
|
||
|
||
File: texi.info, Node: Command Syntax, Next: Obtaining TeX, Prev: Refilling Paragraphs, Up: Top
|
||
|
||
@-Command Syntax
|
||
****************
|
||
|
||
The character `@' is used to start special Texinfo commands. (It
|
||
has the same meaning that `\' has in PlainTeX.) Texinfo has four types
|
||
of @-command:
|
||
|
||
1. Non-alphabetic commands.
|
||
These commands consist of an @ followed by a punctuation mark or
|
||
other character that is not part of the alphabet. Non-alphabetic
|
||
commands are almost always part of the text within a paragraph,
|
||
and never take any argument. The two characters (@ and the other
|
||
one) are complete in themselves; none is followed by braces. The
|
||
non-alphabetic commands are: `@.', `@:', `@*', `@@', `@{', and
|
||
`@}'.
|
||
|
||
2. Alphabetic commands that do not require arguments.
|
||
These commands start with @ followed by a word followed by left-
|
||
and right-hand braces. These commands insert special symbols in
|
||
the document; they do not require arguments. For example,
|
||
`@dots{}' => `...', `@equiv{}' => `==', `@TeX{}' => `TeX', and
|
||
`@bullet{}' => `*'.
|
||
|
||
3. Alphabetic commands that require arguments within braces.
|
||
These commands start with @ followed by a letter or a word,
|
||
followed by an argument within braces. For example, the command
|
||
`@dfn' indicates the introductory or defining use of a term; it is
|
||
used as follows: `In Texinfo, @@-commands are @dfn{mark-up}
|
||
commands.'
|
||
|
||
4. Alphabetic commands that occupy an entire line.
|
||
These commands occupy an entire line. The line starts with @,
|
||
followed by the name of the command (a word); for example,
|
||
`@center' or `@cindex'. If no argument is needed, the word is
|
||
followed by the end of the line. If there is an argument, it is
|
||
separated from the command name by a space. Braces are not used.
|
||
|
||
Thus, the alphabetic commands fall into classes that have different
|
||
argument syntaxes. You cannot tell to which class a command belongs by
|
||
the appearance of its name, but you can tell by the command's meaning:
|
||
if the command stands for a glyph, it is in class 2 and does not
|
||
require an argument; if it makes sense to use the command together with
|
||
other text as part of a paragraph, the command is in class 3 and must
|
||
be followed by an argument in braces; otherwise, it is in class 4 and
|
||
uses the rest of the line as its argument.
|
||
|
||
The purpose of having a different syntax for commands of classes 3
|
||
and 4 is to make Texinfo files easier to read, and also to help the GNU
|
||
Emacs paragraph and filling commands work properly. There is only one
|
||
exception to this rule: the command `@refill', which is always used at
|
||
the end of a paragraph immediately following the final period or other
|
||
punctuation character. `@refill' takes no argument and does *not*
|
||
require braces. `@refill' never confuses the Emacs paragraph commands
|
||
because it cannot appear at the beginning of a line.
|
||
|
||
|
||
File: texi.info, Node: Obtaining TeX, Next: New Features, Prev: Command Syntax, Up: Top
|
||
|
||
How to Obtain TeX
|
||
*****************
|
||
|
||
TeX is freely redistributable. You can obtain TeX for Unix systems
|
||
from the University of Washington for a distribution fee.
|
||
|
||
To order a full distribution, send $200.00 for a 1/2-inch 9-track
|
||
1600 bpi (`tar' or `cpio') tape reel, or $210.00 for a 1/4-inch 4-track
|
||
QIC-24 (`tar' or `cpio') cartridge, to:
|
||
|
||
Northwest Computing Support Center
|
||
DR-10, Thomson Hall 35
|
||
University of Washington
|
||
Seattle, Washington 98195
|
||
|
||
Please make checks payable to the University of Washington.
|
||
|
||
Prepaid orders are preferred but purchase orders are acceptable;
|
||
however, purchase orders carry an extra charge of $10.00, to pay for
|
||
processing.
|
||
|
||
Overseas sites: please add to the base cost $20.00 for shipment via
|
||
air parcel post, or $30.00 for shipment via courier.
|
||
|
||
Please check with the Northwest Computing Support Center at the
|
||
University of Washington for current prices and formats:
|
||
|
||
telephone: (206) 543-6259
|
||
email: elisabet@u.washington.edu
|
||
|
||
|
||
File: texi.info, Node: New Features, Next: Command and Variable Index, Prev: Obtaining TeX, Up: Top
|
||
|
||
Second Edition Features
|
||
***********************
|
||
|
||
The second edition of the Texinfo manual describes more than 20 new
|
||
Texinfo mode commands and more than 50 previously undocumented Texinfo
|
||
@-commands. This edition is more than twice the length of the first
|
||
edition.
|
||
|
||
Here is a brief description of the new commands.
|
||
|
||
* Menu:
|
||
|
||
* New Texinfo Mode Commands:: The updating commands are especially useful.
|
||
* New Commands:: Many newly described @-commands.
|
||
|
||
|
||
File: texi.info, Node: New Texinfo Mode Commands, Next: New Commands, Up: New Features
|
||
|
||
New Texinfo Mode Commands
|
||
=========================
|
||
|
||
Texinfo mode provides commands and features especially designed for
|
||
working with Texinfo files. More than 20 new commands have been added,
|
||
including commands for automatically creating and updating both nodes
|
||
and menus. This is a tedious task when done by hand.
|
||
|
||
The keybindings are intended to be somewhat mnemonic.
|
||
|
||
Update all nodes and menus
|
||
--------------------------
|
||
|
||
The `texinfo-master-menu' command is the primary command:
|
||
|
||
`C-c C-u m'
|
||
`M-x texinfo-master-menu'
|
||
Create or update a master menu. With `C-u' as a prefix argument,
|
||
first create or update all nodes and regular menus.
|
||
|
||
Update Pointers
|
||
---------------
|
||
|
||
Create or update `Next', `Previous', and `Up' node pointers.
|
||
|
||
*Note Updating Nodes and Menus::.
|
||
|
||
`C-c C-u C-n'
|
||
`M-x texinfo-update-node'
|
||
Update a node.
|
||
|
||
`C-c C-u C-e'
|
||
`M-x texinfo-every-node-update'
|
||
Update every node in the buffer.
|
||
|
||
Update Menus
|
||
------------
|
||
|
||
Create or update menus.
|
||
|
||
*Note Updating Nodes and Menus::.
|
||
|
||
`C-c C-u C-m'
|
||
`M-x texinfo-make-menu'
|
||
Make or update a menu.
|
||
|
||
`C-c C-u C-a'
|
||
`M-x texinfo-all-menus-update'
|
||
Make or update all the menus in a buffer. With `C-u' as a prefix
|
||
argument, first update all the nodes.
|
||
|
||
Insert Title as Description
|
||
---------------------------
|
||
|
||
Insert a node's chapter or section title in the space for the
|
||
description in a menu entry line; position point so you can edit the
|
||
insert. (This command works somewhat differently than the other
|
||
insertion commands, which insert only a predefined string.)
|
||
|
||
*Note Inserting Frequently Used Commands: Inserting.
|
||
|
||
`C-c C-c C-d'
|
||
Insert title.
|
||
|
||
Format for Info
|
||
---------------
|
||
|
||
Provide keybindings both for the Info formatting commands that are
|
||
written in Emacs Lisp and for `makeinfo' that is written in C.
|
||
|
||
*Note Info Formatting::.
|
||
|
||
Use the Emacs lisp `texinfo-format...' commands:
|
||
|
||
`C-c C-e C-r'
|
||
Format the region.
|
||
|
||
`C-c C-e C-b'
|
||
Format the buffer.
|
||
|
||
Use `makeinfo':
|
||
|
||
`C-c C-m C-r'
|
||
Format the region.
|
||
|
||
`C-c C-m C-b'
|
||
Format the buffer.
|
||
|
||
`C-c C-m C-l'
|
||
Recenter the `makeinfo' output buffer.
|
||
|
||
`C-c C-m C-k'
|
||
Kill the `makeinfo' formatting job.
|
||
|
||
Typeset and Print
|
||
-----------------
|
||
|
||
Typeset and print Texinfo documents from within Emacs.
|
||
|
||
*Note Printing::.
|
||
|
||
`C-c C-t C-r'
|
||
Run TeX on the region.
|
||
|
||
`C-c C-t C-b'
|
||
Run TeX on the buffer.
|
||
|
||
`C-c C-t C-i'
|
||
Run `texindex'.
|
||
|
||
`C-c C-t C-p'
|
||
Print the DVI file.
|
||
|
||
`C-c C-t C-q'
|
||
Show the print queue.
|
||
|
||
`C-c C-t C-d'
|
||
Delete a job from the print queue.
|
||
|
||
`C-c C-t C-k'
|
||
Kill the current TeX formatting job.
|
||
|
||
`C-c C-t C-x'
|
||
Quit a currently stopped TeX formatting job.
|
||
|
||
`C-c C-t C-l'
|
||
Recenter the output buffer.
|
||
|
||
Other Updating Commands
|
||
-----------------------
|
||
|
||
The "other updating commands" do not have standard keybindings because
|
||
they are used less frequently.
|
||
|
||
*Note Other Updating Commands::.
|
||
|
||
`M-x texinfo-insert-node-lines'
|
||
Insert missing `@node' lines using section titles as node names.
|
||
|
||
`M-x texinfo-multiple-files-update'
|
||
Update a multi-file document. With a numeric prefix, such as `C-u
|
||
8', update *every* pointer and menu in *all* the files and then
|
||
insert a master menu.
|
||
|
||
`M-x texinfo-indent-menu-description'
|
||
Indent descriptions in menus.
|
||
|
||
`M-x texinfo-sequential-node-update'
|
||
Insert node pointers in strict sequence.
|
||
|
||
|
||
File: texi.info, Node: New Commands, Prev: New Texinfo Mode Commands, Up: New Features
|
||
|
||
New Texinfo @-Commands
|
||
======================
|
||
|
||
The second edition of the Texinfo manual describes more than 50
|
||
commands that were not described in the first edition. A third or so
|
||
of these commands existed in Texinfo but were not documented in the
|
||
manual; the others are new. Here is a listing, with brief descriptions
|
||
of them:
|
||
|
||
Indexing
|
||
--------
|
||
|
||
Create your own index, and merge indices.
|
||
|
||
*Note Indices::.
|
||
|
||
`@defindex INDEX-NAME'
|
||
Define a new index and its indexing command. See also the
|
||
`@defcodeindex' command.
|
||
|
||
`@synindex FROM-INDEX INTO-INDEX'
|
||
Merge the FROM-INDEX index into the INTO-INDEX index. See also
|
||
the `@syncodeindex' command.
|
||
|
||
Definitions
|
||
-----------
|
||
|
||
Describe functions, variables, macros, commands, user options, special
|
||
forms, and other such artifacts in a uniform format.
|
||
|
||
*Note Definition Commands::.
|
||
|
||
`@deffn CATEGORY NAME ARGUMENTS...'
|
||
Format a description for functions, interactive commands, and
|
||
similar entities.
|
||
|
||
`@defvr, @defop, ...'
|
||
15 other related commands.
|
||
|
||
Glyphs
|
||
------
|
||
|
||
Indicate the results of evaluation, expansion, printed output, an error
|
||
message, equivalence of expressions, and the location of point.
|
||
|
||
*Note Glyphs::.
|
||
|
||
`@equiv{}'
|
||
`=='
|
||
Equivalence:
|
||
|
||
`@error{}'
|
||
`error-->'
|
||
Error message
|
||
|
||
`@expansion{}'
|
||
`==>'
|
||
Macro expansion
|
||
|
||
`@point{}'
|
||
`-!-'
|
||
Position of point
|
||
|
||
`@print{}'
|
||
`-|'
|
||
Printed output
|
||
|
||
`@result{}'
|
||
`=>'
|
||
Result of an expression
|
||
|
||
Page Headings
|
||
-------------
|
||
|
||
Customize page headings.
|
||
|
||
*Note Headings::.
|
||
|
||
`@headings ON-OFF-SINGLE-DOUBLE'
|
||
Headings on or off, single, or double-sided.
|
||
|
||
`@evenfooting [LEFT] @| [CENTER] @| [RIGHT]'
|
||
Footings for even-numbered (left-hand) pages.
|
||
|
||
`@evenheading, @everyheading, @oddheading, ...'
|
||
Five other related commands.
|
||
|
||
`@thischapter'
|
||
Insert name of chapter and chapter number.
|
||
|
||
`@thischaptername, @thisfile, @thistitle, @thispage'
|
||
Related commands.
|
||
|
||
Formatting
|
||
----------
|
||
|
||
Format blocks of text.
|
||
|
||
*Note Quotations and Examples::, and
|
||
*Note Making Lists and Tables: Lists and Tables.
|
||
|
||
`@cartouche'
|
||
Draw rounded box surrounding text (not in Info).
|
||
|
||
`@enumerate OPTIONAL-ARG'
|
||
Enumerate a list with letters or numbers.
|
||
|
||
`@exdent LINE-OF-TEXT'
|
||
Remove indentation.
|
||
|
||
`@flushleft'
|
||
Left justify.
|
||
|
||
`@flushright'
|
||
Right justify.
|
||
|
||
`@format'
|
||
Do not narrow nor change font.
|
||
|
||
`@ftable FORMATTING-COMMAND'
|
||
`@vtable FORMATTING-COMMAND'
|
||
Two-column table with indexing.
|
||
|
||
`@lisp'
|
||
For an example of Lisp code.
|
||
|
||
`@smallexample'
|
||
`@smalllisp'
|
||
Like @table and @lisp but for @smallbook.
|
||
|
||
Conditionals
|
||
------------
|
||
|
||
Conditionally format text.
|
||
|
||
*Note `@set' `@clear' `@value': set clear value.
|
||
|
||
`@set FLAG [STRING]'
|
||
Set a flag. Optionally, set value of FLAG to STRING.
|
||
|
||
`@clear FLAG'
|
||
Clear a flag.
|
||
|
||
`@value{FLAG}'
|
||
Replace with value to which FLAG is set.
|
||
|
||
`@ifset FLAG'
|
||
Format, if FLAG is set.
|
||
|
||
`@ifclear FLAG'
|
||
Ignore, if FLAG is set.
|
||
|
||
@heading series for Titles
|
||
--------------------------
|
||
|
||
Produce unnumbered headings that do not appear in a table of contents.
|
||
|
||
*Note Structuring::.
|
||
|
||
`@heading TITLE'
|
||
Unnumbered section-like heading not listed in the table of
|
||
contents of a printed manual.
|
||
|
||
`@chapheading, @majorheading, @subheading, @subsubheading'
|
||
Related commands.
|
||
|
||
Font commands
|
||
-------------
|
||
|
||
*Note Smallcaps::, and
|
||
*Note Fonts::.
|
||
|
||
`@r{TEXT}'
|
||
Print in roman font.
|
||
|
||
`@sc{TEXT}'
|
||
Print in SMALL CAPS font.
|
||
|
||
Miscellaneous
|
||
-------------
|
||
|
||
See *Note `@title' `@subtitle' and `@author' Commands: title subtitle
|
||
author,
|
||
see *Note Overfull hboxes::,
|
||
see *Note Footnotes::,
|
||
see *Note Format a Dimension: dmn,
|
||
see *Note Inserting a Minus Sign: minus,
|
||
see *Note Paragraph Indenting: paragraphindent,
|
||
see *Note Cross Reference Commands::,
|
||
see *Note `@title' `@subtitle' and `@author': title subtitle author, and
|
||
see *Note How to Make Your Own Headings: Custom Headings.
|
||
|
||
`@author AUTHOR'
|
||
Typeset author's name.
|
||
|
||
`@finalout'
|
||
Produce cleaner printed output.
|
||
|
||
`@footnotestyle'
|
||
Specify footnote style.
|
||
|
||
`@dmn{DIMENSION}'
|
||
Format a dimension.
|
||
|
||
`@minus{}'
|
||
Generate a minus sign.
|
||
|
||
`@paragraphindent'
|
||
Specify paragraph indentation.
|
||
|
||
`@ref{NODE-NAME, [ENTRY], [TOPIC-OR-TITLE], [INFO-FILE], [MANUAL]}'
|
||
Make a reference. In the printed manual, the reference does not
|
||
start with the word `see'.
|
||
|
||
`@title TITLE'
|
||
Typeset TITLE in the alternative title page format.
|
||
|
||
`@subtitle SUBTITLE'
|
||
Typeset SUBTITLE in the alternative title page format.
|
||
|
||
`@today{}'
|
||
Insert the current date.
|
||
|
||
|
||
File: texi.info, Node: Command and Variable Index, Next: Concept Index, Prev: New Features, Up: Top
|
||
|
||
Command and Variable Index
|
||
**************************
|
||
|
||
This is an alphabetical list of all the @-commands and several
|
||
variables. To make the list easier to use, the commands are listed
|
||
without their preceding `@'.
|
||
|
||
* Menu:
|
||
|
||
* * (force line break): Line Breaks.
|
||
* . (true end of sentence): Controlling Spacing.
|
||
* : (suppress widening): Controlling Spacing.
|
||
* @ (single @): Inserting An Atsign.
|
||
* { (single {): Inserting Braces.
|
||
* } (single }): Inserting Braces.
|
||
* afourpaper: A4 Paper.
|
||
* appendix: unnumbered & appendix.
|
||
* appendixsec: unnumberedsec appendixsec heading.
|
||
* appendixsection: unnumberedsec appendixsec heading.
|
||
* appendixsubsec: unnumberedsubsec appendixsubsec subheading.
|
||
* appendixsubsubsec: subsubsection.
|
||
* apply: Sample Function Definition.
|
||
* author: title subtitle author.
|
||
* b (bold font): Fonts.
|
||
* buffer-end: Def Cmd Template.
|
||
* bullet: bullet.
|
||
* bye: Ending a File.
|
||
* bye: File End.
|
||
* c (comment): Comments.
|
||
* cartouche: cartouche.
|
||
* center: titlefont center sp.
|
||
* chapheading: majorheading & chapheading.
|
||
* chapter: chapter.
|
||
* cindex: Indexing Commands.
|
||
* cite: cite.
|
||
* clear: ifset ifclear.
|
||
* code: code.
|
||
* comment: Comments.
|
||
* contents: Contents.
|
||
* copyright: copyright symbol.
|
||
* copyright: Copyright & Permissions.
|
||
* cropmarks: Cropmarks and Magnification.
|
||
* defcodeindex: New Indices.
|
||
* defcv: Abstract Objects.
|
||
* deffn: Functions Commands.
|
||
* deffnx: deffnx.
|
||
* defindex: New Indices.
|
||
* defivar: Abstract Objects.
|
||
* defmac: Functions Commands.
|
||
* defmethod: Abstract Objects.
|
||
* defop: Abstract Objects.
|
||
* defopt: Variables Commands.
|
||
* defspec: Functions Commands.
|
||
* deftp: Data Types.
|
||
* deftypefn: Typed Functions.
|
||
* deftypefun: Typed Functions.
|
||
* deftypevar: Typed Variables.
|
||
* deftypevr: Typed Variables.
|
||
* defun: Functions Commands.
|
||
* defvar: Variables Commands.
|
||
* defvr: Variables Commands.
|
||
* dfn: dfn.
|
||
* display: display.
|
||
* dmn: dmn.
|
||
* dots: dots.
|
||
* emph: emph & strong.
|
||
* end: Quotations and Examples.
|
||
* end: Introducing Lists.
|
||
* end titlepage: end titlepage.
|
||
* enumerate: enumerate.
|
||
* evenfooting: Custom Headings.
|
||
* evenheading: Custom Headings.
|
||
* everyfooting: Custom Headings.
|
||
* everyheading: Custom Headings.
|
||
* example: example.
|
||
* exdent: exdent.
|
||
* file: file.
|
||
* filll: Copyright & Permissions.
|
||
* finalout: Overfull hboxes.
|
||
* findex: Indexing Commands.
|
||
* flushleft: flushleft & flushright.
|
||
* flushright: flushleft & flushright.
|
||
* foobar: Optional Arguments.
|
||
* footnote: Footnotes.
|
||
* footnotestyle: Footnotes.
|
||
* format: format.
|
||
* forward-word: Def Cmd Template.
|
||
* ftable: ftable vtable.
|
||
* group: group.
|
||
* heading: unnumberedsec appendixsec heading.
|
||
* headings: headings on off.
|
||
* i (italic font): Fonts.
|
||
* ifclear: ifset ifclear.
|
||
* ifinfo: Conditionals.
|
||
* ifset: ifset ifclear.
|
||
* iftex: Conditionals.
|
||
* ignore: Comments.
|
||
* include: Using Include Files.
|
||
* Info-validate: Running Info-Validate.
|
||
* INFOPATH: Other Info Directories.
|
||
* inforef: inforef.
|
||
* input (TeX command): Minimum.
|
||
* isearch-backward: deffnx.
|
||
* isearch-forward: deffnx.
|
||
* item: itemize.
|
||
* item: table.
|
||
* itemize: itemize.
|
||
* itemx: itemx.
|
||
* kbd: kbd.
|
||
* key: key.
|
||
* kindex: Indexing Commands.
|
||
* lisp: Lisp Example.
|
||
* lpr (DVI print command): Shell Format & Print.
|
||
* mag (TeX command): Cropmarks and Magnification.
|
||
* majorheading: majorheading & chapheading.
|
||
* makeinfo-buffer: makeinfo in Emacs.
|
||
* makeinfo-kill-job: makeinfo in Emacs.
|
||
* makeinfo-recenter-output-buffer: makeinfo in Emacs.
|
||
* makeinfo-region: makeinfo in Emacs.
|
||
* menu: Menus.
|
||
* minus: minus.
|
||
* need: need.
|
||
* next-error: makeinfo in Emacs.
|
||
* noindent: noindent.
|
||
* occur: Using occur.
|
||
* occur-mode-goto-occurrence: Showing the Structure.
|
||
* oddfooting: Custom Headings.
|
||
* oddheading: Custom Headings.
|
||
* page: page.
|
||
* page-delimiter: Showing the Structure.
|
||
* paragraphindent: paragraphindent.
|
||
* pindex: Indexing Commands.
|
||
* printindex: Printing Indices & Menus.
|
||
* pxref: pxref.
|
||
* quotation: quotation.
|
||
* r (Roman font): Fonts.
|
||
* ref: ref.
|
||
* refill: Refilling Paragraphs.
|
||
* samp: samp.
|
||
* sc (small caps font): Smallcaps.
|
||
* section: section.
|
||
* set: ifset ifclear.
|
||
* setchapternewpage: setchapternewpage.
|
||
* setfilename: setfilename.
|
||
* settitle: settitle.
|
||
* shortcontents: Contents.
|
||
* smallbook: smallbook.
|
||
* smallexample: smallexample & smalllisp.
|
||
* smalllisp: smallexample & smalllisp.
|
||
* sp (line spacing): sp.
|
||
* sp (titlepage line spacing): titlefont center sp.
|
||
* strong: emph & strong.
|
||
* subheading: unnumberedsubsec appendixsubsec subheading.
|
||
* subsection: subsection.
|
||
* subsubheading: subsubsection.
|
||
* subsubsection: subsubsection.
|
||
* subtitle: title subtitle author.
|
||
* summarycontents: Contents.
|
||
* syncodeindex: syncodeindex.
|
||
* syncodeindex: syncodeindex.
|
||
* synindex: synindex.
|
||
* t (typewriter font): Fonts.
|
||
* table: Two-column Tables.
|
||
* tex: Using Ordinary TeX Commands.
|
||
* tex (command): tex.
|
||
* texi2dvi (shell script): Shell Format & Print.
|
||
* texindex: Format/Print Hardcopy.
|
||
* texindex: Shell Format & Print.
|
||
* texinfo-all-menus-update: Updating Commands.
|
||
* texinfo-every-node-update: Updating Commands.
|
||
* texinfo-format-buffer: Info Formatting.
|
||
* texinfo-format-buffer: texinfo-format commands.
|
||
* texinfo-format-buffer: texinfo-format commands.
|
||
* texinfo-format-region: texinfo-format commands.
|
||
* texinfo-format-region: texinfo-format commands.
|
||
* texinfo-format-region: Info Formatting.
|
||
* texinfo-indent-menu-description: Other Updating Commands.
|
||
* texinfo-insert-@code: Inserting.
|
||
* texinfo-insert-@dfn: Inserting.
|
||
* texinfo-insert-@end: Inserting.
|
||
* texinfo-insert-@example: Inserting.
|
||
* texinfo-insert-@item: Inserting.
|
||
* texinfo-insert-@kbd: Inserting.
|
||
* texinfo-insert-@node: Inserting.
|
||
* texinfo-insert-@noindent: Inserting.
|
||
* texinfo-insert-@samp: Inserting.
|
||
* texinfo-insert-@table: Inserting.
|
||
* texinfo-insert-@var: Inserting.
|
||
* texinfo-insert-braces: Inserting.
|
||
* texinfo-insert-node-lines: Other Updating Commands.
|
||
* texinfo-make-menu: Updating Commands.
|
||
* texinfo-master-menu: Updating Commands.
|
||
* texinfo-multiple-files-update: texinfo-multiple-files-update.
|
||
* texinfo-multiple-files-update (in brief): Other Updating Commands.
|
||
* texinfo-sequential-node-update: Other Updating Commands.
|
||
* texinfo-show-structure: Using texinfo-show-structure.
|
||
* texinfo-show-structure: Showing the Structure.
|
||
* texinfo-start-menu-description: Inserting.
|
||
* texinfo-tex-buffer: Printing.
|
||
* texinfo-tex-print: Printing.
|
||
* texinfo-tex-region: Printing.
|
||
* texinfo-update-node: Updating Commands.
|
||
* TEXINPUTS: Preparing for TeX.
|
||
* thischapter: Custom Headings.
|
||
* thischaptername: Custom Headings.
|
||
* thisfile: Custom Headings.
|
||
* thispage: Custom Headings.
|
||
* thistitle: Custom Headings.
|
||
* tindex: Indexing Commands.
|
||
* title: title subtitle author.
|
||
* titlefont: titlefont center sp.
|
||
* titlepage: titlepage.
|
||
* today: Custom Headings.
|
||
* top (@-command): makeinfo top command.
|
||
* unnumbered: unnumbered & appendix.
|
||
* unnumberedsec: unnumberedsec appendixsec heading.
|
||
* unnumberedsubsec: unnumberedsubsec appendixsubsec subheading.
|
||
* unnumberedsubsubsec: subsubsection.
|
||
* up-list: Inserting.
|
||
* value: value.
|
||
* var: var.
|
||
* vindex: Indexing Commands.
|
||
* vskip: Copyright & Permissions.
|
||
* vtable: ftable vtable.
|
||
* w (prevent line break): w.
|
||
* xref: xref.
|
||
|