blob: 8b0dcde30e640ce669f9bbb1f4a75630ce600af6 [file] [log] [blame]
Guido van Rossum9cf8f331992-03-30 10:54:51 +00001This file documents the ibrowse program. -*-Text-*-
2The H command of ibrowse goes to the node Help in this file.
3
4File: ibrowse Node: Top Up: (DIR) Next: Expert
5
6Ibrowse is a program for reading documentation, which you are using now.
7** Ibrowse uses the file format of the Emacs Info program, and its
8** commands are similar, but not identical.
9
10To learn how to use Ibrowse, type the command "h". It will bring you
11to a programmed instruction sequence.
12
13* Menu:
14
15* Expert:: Advanced Ibrowse commands: c, k, g, s, 1 - 9, arrows.
16* Add:: Describes how to add new nodes to the hierarchy.
17 Also tells what nodes look like.
18* Menus:: How to add to or create menus in Info nodes.
19* Cross-refs:: How to add cross-references to Info nodes.
20* Tags:: How to make tag tables for Info files.
21* Checking:: How to check the consistency of an Info file.
22* Texinfo: (texinfo).
23 How to generate an Info file and a printed manual
24 from the same source file.
25
26File: ibrowse Node: Summary Next: Help
27
28Ibrowse is a Python program for browsing through the Emacs Info
29documentation tree. Documentation in Info is divided into "nodes",
30each of which discusses one topic and contains references to other
31nodes which discuss related topics. Ibrowse has commands to follow the
32references and show you other nodes.
33
34h Invoke the Ibrowse tutorial.
35? Display this Summary node.
36q Quit Ibrowse.
37w Close current window.
38
39Selecting other nodes:
40n Move to the "next" node of this node.
41p Move to the "previous" node of this node.
42m Pick menu item specified by name (or abbreviation).
431-9 Pick first..ninth in node's menu.
44 Menu items select nodes that are "subsections" of this node.
45u Move "up" from this node (i.e., from a subsection to a section).
46f Follow a cross reference by name (or abbrev). Type `l' to get back.
47l Move back to the last node you were in.
48
49Moving within a node:
50Space Scroll forward a full screen. DEL, BS Scroll backward.
51b Go to beginning of node.
52
53Advanced commands:
54k Clone current window (create an independent duplicate).
55c Copy text selection to clipboard (for paste in another application).
56g Move to node specified by name.
57 You may include a filename as well, as (FILENAME)NODENAME.
58d Go to the main directory of Info files.
59t Go to Top node of this file.
60s Search through this Info file for node with specified regexp.
61
62File: ibrowse Node: Help-Small-Screen Next: Help
63
64Since your terminal has an unusually small number of lines on its
65screen, it is necessary to give you special advice at the beginning.
66
67If you see the text "--All----" at near the bottom right corner of
68the screen, it means the entire text you are looking at fits on the
69screen. If you see "--Top----" instead, it means that there is more
70text below that does not fit. To move forward through the text and
71see another screen full, press the Space bar. To move back up, press
72the key labeled Rubout or Delete or DEL.
73
74Here are 40 lines of junk, so you can try Spaces and Rubout and
75see what they do. At the end are instructions of what you should do
76next.
77
78This is line 17
79This is line 18
80This is line 19
81This is line 20
82This is line 21
83This is line 22
84This is line 23
85This is line 24
86This is line 25
87This is line 26
88This is line 27
89This is line 28
90This is line 29
91This is line 30
92This is line 31
93This is line 32
94This is line 33
95This is line 34
96This is line 35
97This is line 36
98This is line 37
99This is line 38
100This is line 39
101This is line 40
102This is line 41
103This is line 42
104This is line 43
105This is line 44
106This is line 45
107This is line 46
108This is line 47
109This is line 48
110This is line 49
111This is line 50
112This is line 51
113This is line 52
114This is line 53
115This is line 54
116This is line 55
117This is line 56
118
119If you have managed to get here, go back to the beginning with
120Rubout, and come back here again, then you understand Space and
121Rubout. So now type an "n"--just one character; don't type the
122quotes and don't type a Return afterward-- to get to the normal start
123of the course.
124
125File: ibrowse Node: Help Next: Help-P Previous: Help-Small-Screen
126
127You are talking to the program Ibrowse, for reading documentation.
128
129 Right now you are looking at one "Node" of Information.
130A node contains text describing a specific topic at a specific
131level of detail. This node's topic is "how to use Ibrowse".
132
133 The top line of a node is its "header". This node's header (look at
134it now) says that it is the node named "Help" in the file "ibrowse".
135It says that the Next node after this one is the node called "Help-P".
136An advanced Ibrowse command lets you go to any node whose name you know.
137
138 Besides a "Next", a node can have a "Previous" or an "Up".
139This node has a "Previous" but no "Up", as you can see.
140
141 Now it's time to move on to the Next node, named "Help-P".
142
143>> Type "n" to move there. Type just one character;
144 don't type the quotes and don't type a Return afterward.
145
146">>" in the margin means it is really time to try a command.
147
148File: ibrowse Node: Help-P Next: Help-Page Previous: Help
149
150This node is called "Help-P". The "Previous" node, as you see, is
151"Help", which is the one you just came from using the "N" command.
152Another "N" command now would take you to the Next node, "Help-Page".
153
154>> But don't do that yet. First, try the "p" command, which takes
155you to the Previous node. When you get there, you can do an "n"
156again to return here.
157
158 This all probably seems insultingly simple so far, but DON'T be
159led into skimming. Things will get more complicated soon. Also,
160don't try a new command until you are told it's time to. Otherwise,
161you may make Ibrowse skip past an important warning that was coming up.
162
163>> Now do an "n" to get to the node "Help-Page" and learn more.
164
165File: ibrowse Node: Help-Page Next: Help-M Previous: Help-P
166
167Space, Backspace, and B commands.
168
169 This node's header tells you that you are now at node "Help-Page", and
170that "P" would get you back to "Help-P". The line starting "Space,"
171is a "Title", saying what the node is about (most nodes have titles).
172
173 This is a big node and it doesn't all fit on your display screen.
174You can tell that there is more that isn't visible because you
175the scroll bar on the side of the window has become active (gray).
176
177 The Space, Backspace and B commands exist to allow you to "move
178around" in a node that doesn't all fit on the screen at once.
179Space moves forward, to show what was below the bottom of the screen.
180Backspace moves backward, to show what was above the top of the screen
181(there isn't anything above the top until you have typed some spaces).
182
183>> Now try typing a Space (afterward, type a Backspace to return here).
184
185 When you type the space, the two lines that were at the bottom of the
186screen appear at the top, followed by more lines. Backspace takes the
187two lines from the top and moves them to the bottom, USUALLY, but if
188there are not a full screen's worth of lines above them they may not
189make it all the way to the bottom.
190
191 If you type a Space when there is no more to see, it will ring the
192bell and otherwise do nothing. The same goes for a Backspace when
193the header of the node is visible.
194
195 Of course you can use the mouse and directly move the scroll bar
196as well, but Ibrowse has keyboard commands for almost everything,
197including scrolling. These keyboard commands are called "shortcuts",
198because it generally takes less effort to press a key on the
199keyboard than to move the mouse. On the other hand, if you are
200an infrequent user of Ibrowse, you can do everything with the
201mouse that you can do with the keyboard. Just look in the menus
202(I'm sure you must know how to use the menus on this system, or
203else you couldn't have gotten this far...). In fact you'll see that
204the commands and shortcuts listed in the menus are the same as those
205described in this course. You can use the shortcuts either with or
206without the "Command" or "Meta" key.
207
208 Two menus are always available: the "Ibrowse" menu contains commands
209pertaining to the Ibrowse program at large, while the "Navigation" menu
210contains commands that move around between nodes. There may be other
211menus; these will be explained later.
212
213 To move back to the beginning of the node you are on, you can type
214a lot of Backspaces. You can also type simply "b" for beginning.
215>> Try that now. (I have put in enough verbiage to make sure you are
216 not on the first screenful now). Then come back, with Spaces.
217
218 You have just learned a considerable number of commands. If you
219want to use one but have trouble remembering which, just pull down
220the menus to get a summary of commands and shortcuts. Some additional
221shortcuts (not listed in the menus) are listed by the "Short help"
222command. This brings up a dialog box which you can acknowledge
223by clicking the OK button or pressing the Return key.
224
225 From now on, you will encounter large nodes without warning, and
226will be expected to know how to use Space and Backspace to move
227around in them without being told. Since you could change the
228size of the window used, it would be impossible to warn you anyway.
229
230>> Now type "n" to see the description of the "m" command.
231
232File: ibrowse Node: Help-M Next: Help-Adv Previous: Help-Page
233
234Menus and the "m" command
235
236 With only the "n" and "p" commands for moving between nodes, nodes
237are restricted to a linear sequence. Menus allow a branching
238structure. A menu is a list of other nodes you can move to. It is
239actually just part of the text of the node formatted specially so that
240Ibrowse can interpret it. The beginning of a menu is always identified
241by a line which starts with "* Menu:". A node contains a menu if and
242only if it has a line in it which starts that way. The only menu you
243can use at any moment is the one in the node you are in. To use a
244menu in any other node, you must move to that node first.
245
246 (There is an unfortunate confusion of terms here. "Menu" may refer
247to one of the Ibrowse menus at the top, such as as the "Ibrowse" and
248"Navigation" menus explained in the previous node, or to the menu in
249a node. Where confusion is possible, these will be disambiguated by
250calling them "Ibrowse menus" or "node menu".)
251
252 After the start of the menu, each line that starts with a "*"
253identifies one subtopic. The line will usually contain a brief name
254for the subtopic (followed by a ":"), the name of the node that talks
255about that subtopic, and optionally some further description of the
256subtopic. Lines in the menu that don't start with a "*" have no
257special meaning - they are only for the human reader's benefit and do
258not define additional subtopics. Here is an example:
259* Foo: FOO's Node This tells about FOO
260The subtopic name is Foo, and the node describing it is "FOO's Node".
261The rest of the line is just for the reader's Information.
262[[ But this line is not a real menu item, simply because there is
263no line above it which starts with "* Menu:".]]
264
265 When you use a menu to go to another node (in a way that will be
266described soon), what you specify is the subtopic name, the first
267thing in the menu line. Ibrowse uses it to find the menu line, extracts
268the node name from it, and goes to that node. The reason that there
269is both a subtopic name and a node name is that the node name must be
270meaningful to the computer and may therefore have to be ugly looking.
271The subtopic name can be chosen just to be convenient for the user to
272specify. Often the node name is convenient for the user to specify
273and so both it and the subtopic name are the same. There is an
274abbreviation for this:
275* Foo:: This tells about FOO
276This means that the subtopic name and node name are the same; they are
277both "Foo".
278
279>> Now use Spaces to find the menu in this node, then come back to
280the front with a "b". As you see, a menu is actually visible
281in its node. If you can't find a menu in a node by looking at it,
282then the node doesn't have a menu and the "m" command is not available.
283
284 (Actually, a quicker way to see if there is a node menu, is to look
285for an Ibrowse menu at the top named "Menu".)
286
287 The command to go to one of the subnodes is "m" - but DON'T DO IT
288YET! Before you use "m", you must understand the difference between
289commands and arguments. So far, you have learned several commands
290that do not need arguments. When you type one, Ibrowse processes it and
291is instantly ready for another command. The "m" command is different:
292it is incomplete without the NAME OF THE SUBTOPIC. Once you have
293typed "m", Ibrowse wants to read the subtopic name.
294
295 Thanks to modern user interface technology, this will be obvious:
296you are prompted for the subtopic name in a dialog box. When you are
297finished typing the name, press Return or click the OK button. You can
298cancel the dialog box by clicking the Cancel button. The first subtopic
299is provided as a default choice, so if you want to go there, you can
300just press Return.
301
302 You can abbreviate the subtopic name. If the abbreviation is not
303unique, the first matching subtopic is chosen. Some menus will put
304the shortest possible abbreviation for each subtopic name in capital
305letters, so you can see how much you need to type. It does not
306matter whether you use upper case or lower case when you type the
307subtopic. You should not put any spaces at the end, or inside of the
308item name, except for one space where a space appears in the item in
309the menu.
310
311 Here is a menu to give you a chance to practice.
312
313* Menu: The menu starts here.
314
315This menu gives you three ways of going to one place, Help-FOO.
316
317* Foo: Help-FOO A node you can visit for fun
318* Bar: Help-FOO Strange! two ways to get to the same place.
319* Help-FOO:: And yet another!
320
321>> Now type just an "m" and see what happens. (Read ahead before
322>> trying this out, as the dialog box will probably cover these
323>> instructions!)
324
325 Now you are "inside" an "m" command. Commands can't be used now;
326the next thing you will type must be the name of a subtopic.
327
328 You can change your mind about doing the "m" by clicking the Cancel
329button.
330>> Try that now; notice the dialog box disappear.
331>> Then type another "m".
332
333>> Now type "BAR", the item name. Don't type Return yet.
334
335 While you are typing the item name, you can use the Backspace
336key to cancel one character at a time if you make a mistake.
337>> Type one to cancel the "R". You could type another "R" to
338replace it. You don't have to, since "BA" is a valid abbreviation.
339>> Now you are ready to go. Type a Return.
340
341 After visiting Help-FOO, you should return here (it will tell how).
342
343>> Type "n" to see more commands.
344
345File: ibrowse Node: Help-FOO Up: Help-M
346
347The "u" command
348
349 Congratulations! This is the node Help-FOO. Unlike the other
350nodes you have seen, this one has an "Up": "Help-M", the node you
351just came from via the "m" command. This is the usual convention--
352the nodes you reach from a menu have Ups that lead back to the menu.
353Menus move Down in the tree, and Up moves Up. Previous, on the other
354hand, is usually used to "stay on the same level but go backwards".
355
356 You can go back to the node Help-M by typing the command
357"u" for "Up". That will put you at the FRONT of the node - to get
358back to where you were reading you will have to type some Spaces.
359
360>> Now type "u" to move back up to Help-M.
361
362File: ibrowse Node: Help-Adv Next: Help-Q Previous: Help-M
363
364Some advanced Ibrowse commands
365
366 The course is almost over, so please stick with it to the end.
367
368 If you have been moving around to different nodes and wish to
369retrace your steps, the "l" command ("l" for "last") will do that, one
370node at a time. If you have been following directions, an "l" command
371now will get you back to Help-M. Another "l" command would undo the "u"
372and get you back to Help-FOO. Another "l" would undo the M and get you
373back to Help-M.
374
375>> Try typing three "l"'s, pausing in between to see what each "l" does.
376Then follow directions again and you will end up back here.
377
378 Note the difference between "l" and "p": "l" moves to where YOU
379last were, whereas "p" always moves to the node which the header says
380is the "Previous" node (from this node, to Help-M).
381
382 The "d" command gets you instantly to the Directory node.
383This node, which is the first one you saw when you entered Ibrowse,
384has a menu which leads (directly, or indirectly through other menus),
385to all the nodes that exist.
386
387>> Try doing a "d", then do an "l" to return here (yes, DO return).
388
389 Sometimes, in Ibrowse documentation, you will see a cross reference.
390Cross references look like this: *Note Cross: Help-Cross. That is a
391real, live cross reference which is named "Cross" and points at the
392node named "Help-Cross".
393
394 If you wish to follow a cross reference, you must use the "f"
395command. The "f" prompts for the cross reference name (in this case,
396"Cross") with a dialog box.
397
398>> Type "f", followed by "Cross", and a Return.
399
400 The "f" command allows abbreviations just like "m".
401
402 To get a list of all the cross references in the current node,
403look in the Ibrowse menu at the top labeled "Footnotes". This menu is
404only present if there are cross references in the current node, and
405can be used to directly follow a cross reference, just like the "Menu"
406menu is another way to choose an item of the node's menu.
407
408>> Now type "n" to see the last node of the course.
409
410File: ibrowse Node: Help-Cross
411
412 This is the node reached by the cross reference named "Cross".
413
414 While this node is specifically intended to be reached by a cross
415reference, most cross references lead to nodes that "belong" someplace
416else far away in the structure of Ibrowse. So you can't expect the
417footnote to have a Next, Previous or Up pointing back to where you
418came from. In general, the "l" (el) command is the only way to get
419back there.
420
421>> Type "l" to return to the node where the cross reference was.
422
423File: ibrowse Node: Help-Q Previous: Help-Adv Up: Top
424
425 To get out of Ibrowse, type "q" for "Quit". All Ibrowse windows
426will be closed (on UNIX, only those managed by the same process).
427To close just one window, use the standard method of closing windows
428on your system; you can also use "w".
429
430 This is the end of the course on using Ibrowse. There are some other
431commands that are not essential or meant for experienced users; they
432are useful, and you can find them by looking in the directory for
433documentation on Ibrowse. Finding them will be a good exercise in using
434Ibrowse in the usual manner.
435
436>> Close this window and find back the window where you typed "h"
437 to enter this tutorial.
438 Then type "d" to go to the Ibrowse directory node if necessary,
439 and choose the "Ibrowse" menu item, to get to the node about
440 Ibrowse and see what other help is available.
441
442File: ibrowse, Node: Expert, Up: Top, Previous: Top, Next: Add
443
444Some Advanced Ibrowse Commands ("c", "k", "g", "s", "1" - "9", arrows).
445
446The "c" command lets you copy text from the window to the clipboard.
447You must first select the text to be copied with the mouse.
448
449The "k" command means "klone" (we are running out of letters now...).
450It creates a new Ibrowse window, showing the same node as the current.
451You can then make an excursion in the new window to different nodes or
452files, while the old window keeps showing the original node. Each
453window has its own history for use by the "l" command.
454
455If you know a node's name, you can go there with the "g" command.
456This prompts for a node name with a dialog box. Entering, "Top"
457would go to the node called Top in this file (its directory node).
458Pressing "g" again and entering "Expert" would come back here.
459
460Unlike "m", "g" does not allow the use of abbreviations.
461
462To go to a node in another file, you can include the filename in the
463node name by putting it at the front, in parentheses. Thus,
464"(dir)Top" would go to the Ibrowse Directory node, which is
465node Top in the file dir.
466
467The node name "*" specifies the whole file. So you can look at all
468of the current file by typing "*" or all of any other file
469with "(FILENAME)*".
470
471File names are converted to lower case before they are tried; this
472is necessary to be compatible with Emacs Info. (File names are
473generally relative to the Info directory, but needn't be.)
474
475The "s" command allows you to search a whole file for a regular
476expression. Unlike the corresponding Emacs Info command, it will
477not search beyond the end of the current node.
478
479Regular expressions are like in UNIX egrep; if you don't know what
480regular expressions are, limit your search strings to letters, digits
481and spaces. Searches in Ibrowse are case-sensitive; searching for
482"foo" will not find "Foo" or "FOO"!
483
484A description of regular expressions as they occur in Emacs is
485available. (*Note Emacs Regular Expressions: (regex)syntax.)
486Ibrowse regular expressions are slightly different: the meaning
487of \( \| \) is swapped with that of ( | ), and there are no
488escapes to handle "words" specially.
489
490Searching starts after the current focus position. The "B" command
491resets the focus to the beginning of the file, but space and backspace
492leave it unchanged (so they may render the focus invisible).
493
494If you grudge the system each character of type-in it requires,
495you might like to use the commands "1", "2", "3", through "9".
496They are short for the first nine entries of the node menu.
497
498The left, right and up arrow keys are duplicates of "p", "n" and "u".
499
500The down arrow key, as well as the Return key, goes to the first item
501of the node's menu if there is one, else it executes "n". This is a
502quick way to visit all nodes in a tree in pre-order: use Return to go
503down and right as far as possible, then use "u" and "n" to go right
504at the next higher level.
505
506File: ibrowse, Node: Add, Up: Top, Previous: Expert, Next: Menus
507
508To add a new topic to the list in the directory, you must
509 1) enter the Emacs text editor. *Note Emacs: (emacs).
510 2) create a node, in some file, to document that topic.
511 3) put that topic in the menu in the directory. *Note Menu: Menus.
512
513 The new node can live in an existing documentation file, or in a new
514one. It must have a ^_ character before it (invisible to the user;
515this node has one but you can't see it), and it ends with either a ^_,
516or the end of file. A nice way to make a node boundary be a
517page boundary as well is to put a ^L RIGHT AFTER the ^_.
518
519 The ^_ starting a node must be followed by a newline or a ^L newline,
520after which comes the node's header line. The header line must give
521the node's name (by which Ibrowse will find it), and state the names of
522the Next, Previous, and Up nodes (if there are any). As you can see,
523this node's Up node is the node Top, which points at all the
524documentation for Ibrowse. The Next node is "Menus".
525
526 The keywords "Node", "Previous", "Up" and "Next", may appear in
527any order, anywhere in the header line, but the recommended order is
528the one in this sentence. Each keyword must be followed by a colon,
529spaces and tabs, and then the appropriate name. The name may be
530terminated with a tab, a comma, or a newline. A space does not end
531it; node names may contain spaces. The case of letters in the names
532is insignificant. "Previous" can be abbreviated to "Prev".
533
534 A node name has two forms. A node in the current file is named by
535what appears after the "Node: " in that node's first line. For
536example, this node's name is "Add". A node in another file is named
537by "(FILENAME)NODE-WITHIN-FILE", as in "(ibrowse)Add" for this node.
538If the file name is relative, it is taken starting from the standard
539Info file directory of your site. The name "(FILENAME)Top" can be
540abbreviated to just "(FILENAME)". By convention, the name "Top" is
541used for the "highest" node in any single file - the node whose "Up"
542points out of the file. The Directory node is "(dir)". The Top node
543of a document file listed in the Directory should have an "Up: (dir)"
544in it.
545
546 The node name "*" is special: it refers to the entire file. Thus,
547g* will show you the whole current file. The use of the node * is to
548make it possible to make old-fashioned, unstructured files into nodes
549of the tree. Footnotes and node menus appearing in a file are disabled
550when it is viewed in this way.
551
552 The "Node:" name, in which a node states its own name, must not
553contain a filename, since Ibrowse when searching for a node does not
554expect one to be there. The Next, Previous and Up names may contain
555them. In this node, since the Up node is in the same file, it was not
556necessary to use one.
557
558 Note that the nodes in this file have a File name in the header
559line. The File names are ignored by Ibrowse, but they serve as
560comments to help identify the node for the user.
561
562File: ibrowse, Node: Menus, Previous: Add, Up: Top, Next: Cross-refs
563
564How to Create Menus:
565
566 Any node in the Ibrowse hierarchy may have a MENU--a list of subnodes.
567The "m" command searches the current node's menu for the topic which it
568reads from the terminal.
569
570 A menu begins with a line starting with "* Menu:". The rest of the
571line is a comment. After the starting line, every line that begins
572with a "* " lists a single topic. The name of the topic--the arg
573that the user must give to the "m" command to select this topic--
574comes right after the star and space, and is followed by
575a colon, spaces and tabs, and the name of the node which discusses
576that topic. The node name, like node names following Next,
577Previous and Up, may be terminated with a tab, comma, or newline;
578it may also be terminated with a period.
579
580 If the node name and topic name are the same, than rather than
581giving the name twice, the abbreviation "* NAME::" may be used
582(and should be used, whenever possible, as it reduces the visual
583clutter in the menu).
584
585 It is considerate to choose the topic names so that they differ
586from each other very near the beginning--this allows the user to type
587short abbreviations. In a long menu, it is a good idea to capitalize
588the beginning of each item name which is the minimum acceptable
589abbreviation for it (a long menu is more than 5 or so entries).
590
591 The node's listed in a node's menu are called its "subnodes", and
592it is their "superior". They should each have an "Up:" pointing at
593the superior. It is often useful to arrange all or most of the
594subnodes in a sequence of Next's/Previous's so that someone who
595wants to see them all need not keep revisiting the Menu.
596
597 The Info Directory is simply the menu of the node "(dir)Top"--that
598is, node Top in file .../info/dir. You can put new entries in that
599menu just like any other menu. The Info Directory is NOT the same as
600the file directory called "info". It happens that many of Ibrowse's
601files live on that file directory, but they don't have to; and files
602on that directory are not automatically listed in the Info Directory
603node.
604
605 The Ibrowse program uses a second directory called .../ibrowse,
606which contains versions of the "dir" and "info" files adapted to
607Ibrowse (the latter renamed to "ibrowse", obviously). It searches
608any file first in the "ibrowse", then in the "info" directory.
609(Actually, the search path is configurable.)
610
611 Also, although the Info node graph is claimed to be a "hierarchy",
612in fact it can be ANY directed graph. Shared structures and pointer
613cycles are perfectly possible, and can be used if they are
614appropriate to the meaning to be expressed. There is no need for all
615the nodes in a file to form a connected structure. In fact, this
616file has two connected components. You are in one of them, which is
617under the node Top; the other contains the node Help which the "h"
618command goes to. In fact, since there is no garbage collector,
619nothing terrible happens if a substructure is not pointed to, but
620such a substructure will be rather useless since nobody will ever
621find out that it exists.
622
623File: ibrowse, Node: Cross-refs, Previous: Menus, Up: Top, Next: Tags
624
625Creating Cross References:
626
627 A cross reference can be placed anywhere in the text, unlike a menu
628item which must go at the front of a line. A cross reference looks
629like a menu item except that it has "*note" instead of "*". It CANNOT
630be terminated by a ")", because ")"'s are so often part of node names.
631If you wish to enclose a cross reference in parentheses, terminate it
632with a period first. Here are two examples of cross references pointers:
633
634 *Note details: commands. (See *note 3: Full Proof.)
635
636They are just examples. The places they "lead to" don't really exist!
637
638File: ibrowse, Node: Tags, Previous: Cross-refs, Up: Top, Next: Checking
639
640Tag Tables for Info Files:
641
642 You can speed up the access to nodes of a large Info file by giving
643it a tag table. Unlike the tag table for a program, the tag table for
644an Info file lives inside the file itself and will automatically be
645used whenever Ibrowse reads in the file.
646
647 To make a tag table, go to a node in the file using Emacs Info and type
648M-x Info-tagify. Then you must use C-x C-s to save the file.
649
650 Once the Info file has a tag table, you must make certain it is up
651to date. If, as a result of deletion of text, any node moves back
652more than a thousand characters in the file from the position
653recorded in the tag table, Ibrowse will no longer be able to find that
654node. To update the tag table, use the Info-tagify command again.
655
656 An Info file tag table appears at the end of the file and looks like
657this:
658
659^_^L
660Tag Table:
661File: ibrowse, Node: Cross-refs21419
662File: ibrowse, Node: Tags22145
663^_
664End Tag Table
665
666Note that it contains one line per node, and this line contains
667the beginning of the node's header (ending just after the node name),
668a rubout (DEL) character, and the character position in the file of the
669beginning of the node. The words "Tag Table" may occur in lower case
670as well.
671
672It is also possible for an extra level of indirection to be present.
673In this case, the first line of the Tag table contains the string
674"(Indirect)", and preceding the tag table is another "pseudo node"
675whose header reads "Indirect:". Each following line has the form
676"filename: offset", meaning that nodes at that offset or larger (but
677less than the offset in the next line) really occur in the file named
678here, and that the file's offset should be subtracted from the node's
679offset. (Indirect tables are created by texinfo for large files.
680*Note Texinfo: (texinfo). *Note Splitting files: (texinfo)Splitting.)
681
682File: ibrowse, Node: Checking, Previous: Tags, Up: Top
683
684Checking an Info File:
685
686 When creating an Info file, it is easy to forget the name of a node
687when you are making a pointer to it from another node. If you put in
688the wrong name for a node, this will not be detected until someone
689tries to go through the pointer using Ibrowse. Verification of the Info
690file is an automatic process which checks all pointers to nodes and
691reports any pointers which are invalid. Every Next, Previous, and Up
692is checked, as is every menu item and every cross reference. In addition,
693any Next which doesn't have a Previous pointing back is reported.
694Only pointers within the file are checked, because checking pointers
695to other files would be terribly slow. But those are usually few.
696
697 To check an Info file, do M-x Info-validate while looking at any
698node of the file with Emacs Info.
699
700Tag table:
701Node: Top117
702Node: Summary952
703Node: Help-Small-Screen997
704Node: Help2628
705Node: Help-P3588
706Node: Help-Page4348
707Node: Help-M7763
708Node: Help-FOO13183
709Node: Help-Adv13887
710Node: Help-Cross15923
711Node: Help-Q16443
712Node: Expert17326
713Node: Add20280
714Node: Menus23273
715Node: Cross-refs26394
716Node: Tags27050
717Node: Checking28966
718
719End tag table