summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/texinfo/info-files/texi.info-10
blob: f28ff2e0e2a8b43652e1738c7dc2b039fba896a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
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.

OpenPOWER on IntegriCloud