Mercurial > emacs
comparison man/info.texi @ 66009:bd58eef467ad
Rearrange nodes.
(Top): Update menu. Change ref `Info for Experts' to
`Advanced Info Commands'.
(Getting Started): Fix description of manual's parts.
(Help-Int): Change xref `Info Search' to `Search Index', and
`Expert Info' to `Advanced'.
(Advanced): Move node one level up.
(Search Text, Search Index): New nodes split out from `Info Search'.
(Go to node, Choose menu subtopic, Create Info buffer): New nodes
split out from `Advanced'.
(Advanced, Emacs Info Variables): De-document editing an Info file
in Info.
(Emacs Info Variables): Move node from `Expert Info' to `Advanced'.
(Creating an Info File): Delete node and move its text to
`Expert Info'.
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Tue, 11 Oct 2005 05:47:11 +0000 |
parents | 69b3598a61c5 |
children | 8e90ee28ad1a 08b4dd6a6e87 5e2d3828e89f |
comparison
equal
deleted
inserted
replaced
66008:b6b6273b9cab | 66009:bd58eef467ad |
---|---|
70 @ifinfo | 70 @ifinfo |
71 If you are new to the Info reader and want to learn how to use it, | 71 If you are new to the Info reader and want to learn how to use it, |
72 type the command @kbd{h} now. It brings you to a programmed | 72 type the command @kbd{h} now. It brings you to a programmed |
73 instruction sequence. | 73 instruction sequence. |
74 | 74 |
75 To read about expert-level Info commands, type @kbd{n} twice. This | 75 To read about advanced Info commands, type @kbd{n} twice. This |
76 brings you to @cite{Info for Experts}, skipping over the `Getting | 76 brings you to @cite{Advanced Info Commands}, skipping over the `Getting |
77 Started' chapter. | 77 Started' chapter. |
78 @end ifinfo | 78 @end ifinfo |
79 @end ifnottex | 79 @end ifnottex |
80 | 80 |
81 @menu | 81 @menu |
82 * Getting Started:: Getting started using an Info reader. | 82 * Getting Started:: Getting started using an Info reader. |
83 * Advanced:: Advanced Info commands. | |
83 * Expert Info:: Info commands for experts. | 84 * Expert Info:: Info commands for experts. |
84 * Creating an Info File:: How to make your own Info file. | |
85 * Index:: An index of topics, commands, and variables. | 85 * Index:: An index of topics, commands, and variables. |
86 @end menu | 86 @end menu |
87 | 87 |
88 @node Getting Started, Expert Info, Top, Top | 88 @node Getting Started, Advanced, Top, Top |
89 @comment node-name, next, previous, up | 89 @comment node-name, next, previous, up |
90 @chapter Getting Started | 90 @chapter Getting Started |
91 | 91 |
92 This first part of this Info manual describes how to get around inside | 92 This first part of this Info manual describes how to get around inside |
93 of Info. The second part of the manual describes various advanced | 93 of Info. The second part of the manual describes various advanced |
94 Info commands, and how to write an Info as distinct from a Texinfo | 94 Info commands. The third part briefly explains how to generate Info |
95 file. The third part briefly explains how to generate Info files from | 95 files from Texinfo files, and describes how to write an Info as |
96 Texinfo files. | 96 distinct from a Texinfo file. |
97 | 97 |
98 @ifnotinfo | 98 @ifnotinfo |
99 This manual is primarily designed for browsing with an Info reader | 99 This manual is primarily designed for browsing with an Info reader |
100 program on a computer, so that you can try Info commands while reading | 100 program on a computer, so that you can try Info commands while reading |
101 about them. Reading it on paper or with an HTML browser is less | 101 about them. Reading it on paper or with an HTML browser is less |
845 describes the topic you want. | 845 describes the topic you want. |
846 | 846 |
847 There is also a short-cut Info command, @kbd{i}, which does all of | 847 There is also a short-cut Info command, @kbd{i}, which does all of |
848 that for you. It searches the index for a given topic (a string) and | 848 that for you. It searches the index for a given topic (a string) and |
849 goes to the node which is listed in the index for that topic. | 849 goes to the node which is listed in the index for that topic. |
850 @xref{Info Search}, for a full explanation. | 850 @xref{Search Index}, for a full explanation. |
851 | 851 |
852 @kindex l @r{(Info mode)} | 852 @kindex l @r{(Info mode)} |
853 @findex Info-history-back | 853 @findex Info-history-back |
854 @cindex going back in Info history | 854 @cindex going back in Info history |
855 If you have been moving around to different nodes and wish to | 855 If you have been moving around to different nodes and wish to |
903 | 903 |
904 @format | 904 @format |
905 >> Now type @kbd{n} to see the last node of the course. | 905 >> Now type @kbd{n} to see the last node of the course. |
906 @end format | 906 @end format |
907 | 907 |
908 @xref{Expert Info}, for more advanced Info features. | 908 @xref{Advanced}, for more advanced Info features. |
909 | 909 |
910 @c If a menu appears at the end of this node, remove it. | 910 @c If a menu appears at the end of this node, remove it. |
911 @c It is an accident of the menu updating command. | 911 @c It is an accident of the menu updating command. |
912 | 912 |
913 @node Expert Info | 913 @node Advanced |
914 @chapter Info for Experts | 914 @chapter Advanced Info Commands |
915 | 915 |
916 This chapter describes various Info commands for experts. (If you | 916 This chapter describes various advanced Info commands. (If you |
917 are using a stand-alone Info reader, there are additional commands | 917 are using a stand-alone Info reader, there are additional commands |
918 specific to it, which are documented in several chapters of @ref{Top,, | 918 specific to it, which are documented in several chapters of @ref{Top,, |
919 GNU Info, info-stnd, GNU Info}.) | 919 GNU Info, info-stnd, GNU Info}.) |
920 | 920 |
921 This chapter also explains how to write an Info as distinct from a | |
922 Texinfo file. (However, in most cases, writing a Texinfo file is | |
923 better, since you can use it to make a printed manual or produce other | |
924 formats, such as HTML and DocBook, as well as for generating Info | |
925 files.) @xref{Top,, Overview of Texinfo, texinfo, Texinfo: The GNU | |
926 Documentation Format}. | |
927 | |
928 @menu | 921 @menu |
929 * Advanced:: Advanced Info commands: g, e, and 1 - 9. | 922 * Search Text:: How to search Info documents. |
930 * Info Search:: How to search Info documents for specific subjects. | 923 * Search Index:: How to search the indices for specific subjects. |
931 * Add:: Describes how to add new nodes to the hierarchy. | 924 * Go to node:: How to go to a node by name. |
932 Also tells what nodes look like. | 925 * Choose menu subtopic:: How to choose a menu subtopic by its number. |
933 * Menus:: How to add to or create menus in Info nodes. | 926 * Create Info buffer:: How to create a new Info buffer in Emacs. |
934 * Cross-refs:: How to add cross-references to Info nodes. | |
935 * Tags:: How to make tags tables for Info files. | |
936 * Checking:: Checking an Info File. | |
937 * Emacs Info Variables:: Variables modifying the behavior of Emacs Info. | 927 * Emacs Info Variables:: Variables modifying the behavior of Emacs Info. |
938 @end menu | 928 @end menu |
939 | 929 |
940 @node Advanced, Info Search, , Expert Info | 930 @node Search Text, Search Index, , Advanced |
941 @comment node-name, next, previous, up | 931 @comment node-name, next, previous, up |
942 @section Advanced Info Commands | 932 @section How to search Info documents |
943 | 933 |
944 Here are some more Info commands that make it easier to move around. | 934 @cindex searching Info documents |
945 | 935 @cindex Info document as a reference |
946 @subheading @kbd{g} goes to a node by name | 936 The commands which move between and inside nodes allow you to read |
937 the entire manual or its large portions. But what if you need to find | |
938 some information in the manual as fast as you can, and you don't know | |
939 or don't remember in what node to look for it? This need arises when | |
940 you use a manual as a @dfn{reference}, or when it is impractical to | |
941 read the entire manual before you start using the programs it | |
942 describes. | |
943 | |
944 Info has powerful searching facilities that let you find things | |
945 quickly. You can search either the manual text or its indices. | |
946 | |
947 @kindex s @r{(Info mode)} | |
948 @findex Info-search | |
949 The @kbd{s} command allows you to search a whole Info file for a string. | |
950 It switches to the next node if and when that is necessary. You | |
951 type @kbd{s} followed by the string to search for, terminated by | |
952 @key{RET}. To search for the same string again, just @kbd{s} followed | |
953 by @key{RET} will do. The file's nodes are scanned in the order | |
954 they are in the file, which has no necessary relationship to the | |
955 order that they may be in the tree structure of menus and @samp{next} | |
956 pointers. But normally the two orders are not very different. In any | |
957 case, you can always look at the echo area to find out what node you have | |
958 reached, if the header is not visible (this can happen, because @kbd{s} | |
959 puts your cursor at the occurrence of the string, not at the beginning | |
960 of the node). | |
961 | |
962 @kindex M-s @r{(Info mode)} | |
963 In Emacs, @kbd{Meta-s} is equivalent to @kbd{s}. That is for | |
964 compatibility with other GNU packages that use @kbd{M-s} for a similar | |
965 kind of search command. Both @kbd{s} and @kbd{M-s} run in Emacs the | |
966 command @code{Info-search}. | |
967 | |
968 @kindex C-s @r{(Info mode)} | |
969 @kindex C-r @r{(Info mode)} | |
970 @findex isearch | |
971 Instead of using @kbd{s} in Emacs Info and in the stand-alone Info, | |
972 you can use an incremental search started with @kbd{C-s} or @kbd{C-r}. | |
973 It can search through multiple Info nodes. @xref{Incremental Search,,, | |
974 emacs, The GNU Emacs Manual}. In Emacs, this behavior is enabled only | |
975 if the variable @code{Info-isearch-search} is non-@code{nil} | |
976 (@pxref{Emacs Info Variables}). | |
977 | |
978 @node Search Index, Go to node, Search Text, Advanced | |
979 @comment node-name, next, previous, up | |
980 @section How to search the indices for specific subjects | |
981 | |
982 @cindex searching Info indices | |
983 @kindex i @r{(Info mode)} | |
984 @findex Info-index | |
985 Since most subjects related to what the manual describes should be | |
986 indexed, you should try the index search first. The @kbd{i} command | |
987 prompts you for a subject and then looks up that subject in the | |
988 indices. If it finds an index entry with the subject you typed, it | |
989 goes to the node to which that index entry points. You should browse | |
990 through that node to see whether the issue you are looking for is | |
991 described there. If it isn't, type @kbd{,} one or more times to go | |
992 through additional index entries which match your subject. | |
993 | |
994 The @kbd{i} command finds all index entries which include the string | |
995 you typed @emph{as a substring}. For each match, Info shows in the | |
996 echo area the full index entry it found. Often, the text of the full | |
997 index entry already gives you enough information to decide whether it | |
998 is relevant to what you are looking for, so we recommend that you read | |
999 what Info shows in the echo area before looking at the node it | |
1000 displays. | |
1001 | |
1002 Since @kbd{i} looks for a substring, you can search for subjects even | |
1003 if you are not sure how they are spelled in the index. For example, | |
1004 suppose you want to find something that is pertinent to commands which | |
1005 complete partial input (e.g., when you type @key{TAB}). If you want | |
1006 to catch index entries that refer to ``complete'', ``completion'', and | |
1007 ``completing'', you could type @kbd{icomplet@key{RET}}. | |
1008 | |
1009 Info documents which describe programs should index the commands, | |
1010 options, and key sequences that the program provides. If you are | |
1011 looking for a description of a command, an option, or a key, just type | |
1012 their names when @kbd{i} prompts you for a topic. For example, if you | |
1013 want to read the description of what the @kbd{C-f} key does, type | |
1014 @kbd{i C - f @key{RET}}. Here @kbd{C-f} are 3 literal characters | |
1015 @samp{C}, @samp{-}, and @samp{f}, not the ``Control-f'' command key | |
1016 you type inside Emacs to run the command bound to @kbd{C-f}. | |
1017 | |
1018 In Emacs, @kbd{i} runs the command @code{Info-index}. | |
1019 | |
1020 @findex info-apropos | |
1021 @findex index-apropos | |
1022 If you don't know what manual documents something, try the @kbd{M-x | |
1023 info-apropos} command in Emacs, or the @kbd{M-x index-apropos} command | |
1024 in the stand-alone reader. It prompts for a string and then looks up | |
1025 that string in all the indices of all the Info documents installed on | |
1026 your system. | |
1027 | |
1028 @node Go to node, Choose menu subtopic, Search Index, Advanced | |
1029 @comment node-name, next, previous, up | |
1030 @section @kbd{g} goes to a node by name | |
947 | 1031 |
948 @kindex g @r{(Info mode)} | 1032 @kindex g @r{(Info mode)} |
949 @findex Info-goto-node | 1033 @findex Info-goto-node |
950 @cindex go to a node by name | 1034 @cindex go to a node by name |
951 If you know a node's name, you can go there by typing @kbd{g}, the | 1035 If you know a node's name, you can go there by typing @kbd{g}, the |
952 name, and @key{RET}. Thus, @kbd{gTop@key{RET}} would go to the node | 1036 name, and @key{RET}. Thus, @kbd{gTop@key{RET}} would go to the node |
953 called @samp{Top} in this file. (This is equivalent to @kbd{t}, see | 1037 called @samp{Top} in this file. (This is equivalent to @kbd{t}, see |
954 @ref{Help-Int}.) @kbd{gAdvanced@key{RET}} would come back here. | 1038 @ref{Help-Int}.) @kbd{gGo to node@key{RET}} would come back here. |
955 @kbd{g} in Emacs runs the command @code{Info-goto-node}. | 1039 @kbd{g} in Emacs runs the command @code{Info-goto-node}. |
956 | 1040 |
957 Unlike @kbd{m}, @kbd{g} does not allow the use of abbreviations. | 1041 Unlike @kbd{m}, @kbd{g} does not allow the use of abbreviations. |
958 But it does allow completion, so you can type @key{TAB} to complete a | 1042 But it does allow completion, so you can type @key{TAB} to complete a |
959 partial node name. | 1043 partial node name. |
967 | 1051 |
968 The node name @samp{*} specifies the whole file. So you can look at | 1052 The node name @samp{*} specifies the whole file. So you can look at |
969 all of the current file by typing @kbd{g*@key{RET}} or all of any | 1053 all of the current file by typing @kbd{g*@key{RET}} or all of any |
970 other file with @kbd{g(@var{filename})*@key{RET}}. | 1054 other file with @kbd{g(@var{filename})*@key{RET}}. |
971 | 1055 |
972 @subheading @kbd{1}--@kbd{9} choose a menu subtopic by its number | 1056 @node Choose menu subtopic, Create Info buffer, Go to node, Advanced |
1057 @comment node-name, next, previous, up | |
1058 @section @kbd{1}--@kbd{9} choose a menu subtopic by its number | |
973 | 1059 |
974 @kindex 1 @r{through} 9 @r{(Info mode)} | 1060 @kindex 1 @r{through} 9 @r{(Info mode)} |
975 @findex Info-nth-menu-item | 1061 @findex Info-nth-menu-item |
976 @cindex select @var{n}'th menu item | 1062 @cindex select @var{n}'th menu item |
977 If you begrudge each character of type-in which your system requires, | 1063 If you begrudge each character of type-in which your system requires, |
992 Some terminals don't support either multiple fonts, colors or | 1078 Some terminals don't support either multiple fonts, colors or |
993 underlining. If you need to actually count items, it is better to use | 1079 underlining. If you need to actually count items, it is better to use |
994 @kbd{m} instead, and specify the name, or use @key{TAB} to quickly | 1080 @kbd{m} instead, and specify the name, or use @key{TAB} to quickly |
995 move between menu items. | 1081 move between menu items. |
996 | 1082 |
997 @subheading @kbd{e} makes Info document editable | 1083 @node Create Info buffer, Emacs Info Variables, Choose menu subtopic, Advanced |
998 | 1084 @comment node-name, next, previous, up |
999 @kindex e @r{(Info mode)} | 1085 @section @kbd{M-n} creates a new independent Info buffer in Emacs |
1000 @findex Info-edit | |
1001 @cindex edit Info document | |
1002 The Info command @kbd{e} changes from Info mode to an ordinary | |
1003 Emacs editing mode, so that you can edit the text of the current node. | |
1004 Type @kbd{C-c C-c} to switch back to Info. The @kbd{e} command is allowed | |
1005 only if the variable @code{Info-enable-edit} is non-@code{nil}. | |
1006 | |
1007 The @kbd{e} command only works in Emacs, where it runs the command | |
1008 @code{Info-edit}. The stand-alone Info reader doesn't allow you to | |
1009 edit the Info file, so typing @kbd{e} there goes to the end of the | |
1010 current node. | |
1011 | |
1012 @subheading @kbd{M-n} creates a new independent Info buffer in Emacs | |
1013 | 1086 |
1014 @kindex M-n @r{(Info mode)} | 1087 @kindex M-n @r{(Info mode)} |
1015 @findex clone-buffer | 1088 @findex clone-buffer |
1016 @cindex multiple Info buffers | 1089 @cindex multiple Info buffers |
1017 If you are reading Info in Emacs, you can select a new independent | 1090 If you are reading Info in Emacs, you can select a new independent |
1029 Another way to produce new Info buffers in Emacs is to use a numeric | 1102 Another way to produce new Info buffers in Emacs is to use a numeric |
1030 prefix argument for the @kbd{C-h i} command (@code{info}) which | 1103 prefix argument for the @kbd{C-h i} command (@code{info}) which |
1031 switches to the Info buffer with that number. Thus, @kbd{C-u 2 C-h i} | 1104 switches to the Info buffer with that number. Thus, @kbd{C-u 2 C-h i} |
1032 switches to the buffer @samp{*info*<2>}, creating it if necessary. | 1105 switches to the buffer @samp{*info*<2>}, creating it if necessary. |
1033 | 1106 |
1034 @node Info Search, Add, Advanced, Expert Info | 1107 @node Emacs Info Variables, , Create Info buffer, Advanced |
1035 @comment node-name, next, previous, up | 1108 @comment node-name, next, previous, up |
1036 @section How to search Info documents for specific subjects | 1109 @section Emacs Info-mode Variables |
1037 | 1110 |
1038 @cindex searching Info documents | 1111 The following variables may modify the behavior of Info-mode in Emacs; |
1039 @cindex Info document as a reference | 1112 you may wish to set one or several of these variables interactively, or |
1040 The commands which move between and inside nodes allow you to read | 1113 in your @file{~/.emacs} init file. @xref{Examining, Examining and Setting |
1041 the entire manual or its large portions. But what if you need to find | 1114 Variables, Examining and Setting Variables, emacs, The GNU Emacs |
1042 some information in the manual as fast as you can, and you don't know | 1115 Manual}. The stand-alone Info reader program has its own set of |
1043 or don't remember in what node to look for it? This need arises when | 1116 variables, described in @ref{Variables,, Manipulating Variables, |
1044 you use a manual as a @dfn{reference}, or when it is impractical to | 1117 info-stnd, GNU Info}. |
1045 read the entire manual before you start using the programs it | 1118 |
1046 describes. | 1119 @vtable @code |
1047 | 1120 @item Info-directory-list |
1048 Info has powerful searching facilities that let you find things | 1121 The list of directories to search for Info files. Each element is a |
1049 quickly. You can search either the manual indices or its text. | 1122 string (directory name) or @code{nil} (try default directory). If not |
1050 | 1123 initialized Info uses the environment variable @env{INFOPATH} to |
1051 @kindex i @r{(Info mode)} | 1124 initialize it, or @code{Info-default-directory-list} if there is no |
1052 @findex Info-index | 1125 @env{INFOPATH} variable in the environment. |
1053 Since most subjects related to what the manual describes should be | 1126 |
1054 indexed, you should try the index search first. The @kbd{i} command | 1127 If you wish to customize the Info directory search list for both Emacs |
1055 prompts you for a subject and then looks up that subject in the | 1128 Info and stand-alone Info, it is best to set the @env{INFOPATH} |
1056 indices. If it finds an index entry with the subject you typed, it | 1129 environment variable, since that applies to both programs. |
1057 goes to the node to which that index entry points. You should browse | 1130 |
1058 through that node to see whether the issue you are looking for is | 1131 @item Info-additional-directory-list |
1059 described there. If it isn't, type @kbd{,} one or more times to go | 1132 A list of additional directories to search for Info documentation files. |
1060 through additional index entries which match your subject. | 1133 These directories are not searched for merging the @file{dir} file. |
1061 | 1134 |
1062 The @kbd{i} command finds all index entries which include the string | 1135 @item Info-mode-hook |
1063 you typed @emph{as a substring}. For each match, Info shows in the | 1136 Hooks run when @code{Info-mode} is called. By default, it contains |
1064 echo area the full index entry it found. Often, the text of the full | 1137 the hook @code{turn-on-font-lock} which enables highlighting of Info |
1065 index entry already gives you enough information to decide whether it | 1138 files. You can change how the highlighting looks by customizing the |
1066 is relevant to what you are looking for, so we recommend that you read | 1139 faces @code{info-node}, @code{info-xref}, @code{info-xref-visited}, |
1067 what Info shows in the echo area before looking at the node it | 1140 @code{info-header-xref}, @code{info-header-node}, @code{info-menu-header}, |
1068 displays. | 1141 @code{info-menu-star}, and @code{info-title-@var{n}} (where @var{n} |
1069 | 1142 is the level of the section, a number between 1 and 4). To customize |
1070 Since @kbd{i} looks for a substring, you can search for subjects even | 1143 a face, type @kbd{M-x customize-face @key{RET} @var{face} @key{RET}}, |
1071 if you are not sure how they are spelled in the index. For example, | 1144 where @var{face} is one of the face names listed here. |
1072 suppose you want to find something that is pertinent to commands which | 1145 |
1073 complete partial input (e.g., when you type @key{TAB}). If you want | 1146 @item Info-fontify-maximum-menu-size |
1074 to catch index entries that refer to ``complete'', ``completion'', and | 1147 Maximum size of menu to fontify if @code{font-lock-mode} is non-@code{nil}. |
1075 ``completing'', you could type @kbd{icomplet@key{RET}}. | 1148 |
1076 | 1149 @item Info-fontify-visited-nodes |
1077 Info documents which describe programs should index the commands, | 1150 If non-@code{nil}, menu items and cross-references pointing to visited |
1078 options, and key sequences that the program provides. If you are | 1151 nodes are displayed in the @code{info-xref-visited} face. |
1079 looking for a description of a command, an option, or a key, just type | 1152 |
1080 their names when @kbd{i} prompts you for a topic. For example, if you | 1153 @item Info-use-header-line |
1081 want to read the description of what the @kbd{C-f} key does, type | 1154 If non-@code{nil}, Emacs puts in the Info buffer a header line showing |
1082 @kbd{i C - f @key{RET}}. Here @kbd{C-f} are 3 literal characters | 1155 the @samp{Next}, @samp{Prev}, and @samp{Up} links. A header line does |
1083 @samp{C}, @samp{-}, and @samp{f}, not the ``Control-f'' command key | 1156 not scroll with the rest of the buffer, making these links always |
1084 you type inside Emacs to run the command bound to @kbd{C-f}. | 1157 visible. |
1085 | 1158 |
1086 In Emacs, @kbd{i} runs the command @code{Info-index}. | 1159 @item Info-hide-note-references |
1087 | 1160 As explained in earlier nodes, the Emacs version of Info normally |
1088 @findex info-apropos | 1161 hides some text in menus and cross-references. You can completely |
1089 @findex index-apropos | 1162 disable this feature, by setting this option to @code{nil}. Setting |
1090 If you don't know what manual documents something, try the @kbd{M-x | 1163 it to a value that is neither @code{nil} nor @code{t} produces an |
1091 info-apropos} command in Emacs, or the @kbd{M-x index-apropos} command | 1164 intermediate behavior, hiding a limited amount of text, but showing |
1092 in the stand-alone reader. It prompts for a string and then looks up | 1165 all text that could potentially be useful. |
1093 that string in all the indices of all the Info documents installed on | 1166 |
1094 your system. | 1167 @item Info-scroll-prefer-subnodes |
1095 | 1168 If set to a non-@code{nil} value, @key{SPC} and @key{BACKSPACE} (or |
1096 @kindex s @r{(Info mode)} | 1169 @key{DEL}) keys in a menu visit subnodes of the current node before |
1097 @findex Info-search | 1170 scrolling to its end or beginning, respectively. For example, if the |
1098 The @kbd{s} command allows you to search a whole file for a string. | 1171 node's menu appears on the screen, the next @key{SPC} moves to a |
1099 It switches to the next node if and when that is necessary. You | 1172 subnode indicated by the following menu item. Setting this option to |
1100 type @kbd{s} followed by the string to search for, terminated by | 1173 @code{nil} results in behavior similar to the stand-alone Info reader |
1101 @key{RET}. To search for the same string again, just @kbd{s} followed | 1174 program, which visits the first subnode from the menu only when you |
1102 by @key{RET} will do. The file's nodes are scanned in the order | 1175 hit the end of the current node. The default is @code{nil}. |
1103 they are in the file, which has no necessary relationship to the | 1176 |
1104 order that they may be in the tree structure of menus and @samp{next} | 1177 @item Info-isearch-search |
1105 pointers. But normally the two orders are not very different. In any | 1178 If non-@code{nil}, isearch in Info searches through multiple nodes. |
1106 case, you can always look at the echo area to find out what node you have | 1179 |
1107 reached, if the header is not visible (this can happen, because @kbd{s} | 1180 @item Info-enable-active-nodes |
1108 puts your cursor at the occurrence of the string, not at the beginning | 1181 When set to a non-@code{nil} value, allows Info to execute Lisp code |
1109 of the node). | 1182 associated with nodes. The Lisp code is executed when the node is |
1110 | 1183 selected. The Lisp code to be executed should follow the node |
1111 @kindex M-s @r{(Info mode)} | 1184 delimiter (the @samp{DEL} character) and an @samp{execute: } tag, like |
1112 In Emacs, @kbd{Meta-s} is equivalent to @kbd{s}. That is for | 1185 this: |
1113 compatibility with other GNU packages that use @kbd{M-s} for a similar | 1186 |
1114 kind of search command. Both @kbd{s} and @kbd{M-s} run in Emacs the | 1187 @example |
1115 command @code{Info-search}. | 1188 ^_execute: (message "This is an active node!") |
1116 | 1189 @end example |
1117 @kindex C-s @r{(Info mode)} | 1190 @end vtable |
1118 @kindex C-r @r{(Info mode)} | 1191 |
1119 @findex isearch | 1192 |
1120 Instead of using @kbd{s} in Emacs Info and in the stand-alone Info, | 1193 @node Expert Info |
1121 you can use an incremental search started with @kbd{C-s} or @kbd{C-r}. | 1194 @chapter Info for Experts |
1122 It can search through multiple Info nodes. @xref{Incremental Search,,, | 1195 |
1123 emacs, The GNU Emacs Manual}. In Emacs, this behavior is enabled only | 1196 This chapter explains how to write an Info as distinct from a |
1124 if the variable @code{Info-isearch-search} is non-@code{nil} | 1197 Texinfo file. However, in most cases, writing a Texinfo file is |
1125 (@pxref{Emacs Info Variables}). | 1198 better, since you can use it to make a printed manual or produce other |
1126 | 1199 formats, such as HTML and DocBook, as well as for generating Info |
1127 @node Add, Menus, Info Search, Expert Info | 1200 files. |
1201 | |
1202 @code{makeinfo} is a utility that converts a Texinfo file into an Info | |
1203 file; @code{texinfo-format-region} and @code{texinfo-format-buffer} are | |
1204 GNU Emacs functions that do the same. | |
1205 | |
1206 @xref{Top,, Overview of Texinfo, texinfo, Texinfo: The GNU | |
1207 Documentation Format}, to learn how to write a Texinfo file. | |
1208 | |
1209 @xref{Creating an Info File,,, texinfo, Texinfo: The GNU Documentation | |
1210 Format}, to learn how to create an Info file from a Texinfo file. | |
1211 | |
1212 @xref{Installing an Info File,,, texinfo, Texinfo: The GNU | |
1213 Documentation Format}, to learn how to install an Info file after you | |
1214 have created one. | |
1215 | |
1216 However, if you want to edit an Info file manually and install it manually, | |
1217 here is how. | |
1218 | |
1219 @menu | |
1220 * Add:: Describes how to add new nodes to the hierarchy. | |
1221 Also tells what nodes look like. | |
1222 * Menus:: How to add to or create menus in Info nodes. | |
1223 * Cross-refs:: How to add cross-references to Info nodes. | |
1224 * Tags:: How to make tags tables for Info files. | |
1225 * Checking:: Checking an Info File. | |
1226 @end menu | |
1227 | |
1228 @node Add, Menus, , Expert Info | |
1128 @comment node-name, next, previous, up | 1229 @comment node-name, next, previous, up |
1129 @section Adding a new node to Info | 1230 @section Adding a new node to Info |
1130 | 1231 |
1131 To add a new topic to the list in the Info directory, you must: | 1232 To add a new topic to the list in the Info directory, you must: |
1132 | 1233 |
1134 @item | 1235 @item |
1135 Create some nodes, in some file, to document that topic. | 1236 Create some nodes, in some file, to document that topic. |
1136 @item | 1237 @item |
1137 Put that topic in the menu in the directory. @xref{Menus, Menu}. | 1238 Put that topic in the menu in the directory. @xref{Menus, Menu}. |
1138 @end enumerate | 1239 @end enumerate |
1139 | |
1140 Usually, the way to create the nodes is with Texinfo (@pxref{Top,, | |
1141 Overview of Texinfo, texinfo, Texinfo: The GNU Documentation Format}); | |
1142 this has the advantage that you can also make a printed manual or HTML | |
1143 from them. You would use the @samp{@@dircategory} and | |
1144 @samp{@@direntry} commands to put the manual into the Info directory. | |
1145 However, if you want to edit an Info file manually and install it | |
1146 manually, here is how. | |
1147 | 1240 |
1148 @cindex node delimiters | 1241 @cindex node delimiters |
1149 The new node can live in an existing documentation file, or in a new | 1242 The new node can live in an existing documentation file, or in a new |
1150 one. It must have a @samp{^_} character before it (invisible to the | 1243 one. It must have a @samp{^_} character before it (invisible to the |
1151 user; this node has one but you cannot see it), and it ends with either | 1244 user; this node has one but you cannot see it), and it ends with either |
1322 | 1415 |
1323 Another set of Info commands is useful when you need to find | 1416 Another set of Info commands is useful when you need to find |
1324 something quickly in a manual---that is, when you need to use a manual | 1417 something quickly in a manual---that is, when you need to use a manual |
1325 as a reference rather than as a tutorial. We urge you to learn | 1418 as a reference rather than as a tutorial. We urge you to learn |
1326 these search commands as well. If you want to do that now, follow this | 1419 these search commands as well. If you want to do that now, follow this |
1327 cross reference to @ref{Info Search}. | 1420 cross reference to @ref{Advanced}. |
1328 | 1421 |
1329 Yet another set of commands are meant for experienced users; you can | 1422 Yet another set of commands are meant for experienced users; you can |
1330 find them by looking in the Directory node for documentation on Info. | 1423 find them by looking in the Directory node for documentation on Info. |
1331 Finding them will be a good exercise in using Info in the usual | 1424 Finding them will be a good exercise in using Info in the usual |
1332 manner. | 1425 manner. |
1380 Note that it contains one line per node, and this line contains | 1473 Note that it contains one line per node, and this line contains |
1381 the beginning of the node's header (ending just after the node name), | 1474 the beginning of the node's header (ending just after the node name), |
1382 a @samp{DEL} character, and the character position in the file of the | 1475 a @samp{DEL} character, and the character position in the file of the |
1383 beginning of the node. | 1476 beginning of the node. |
1384 | 1477 |
1385 | 1478 @node Checking, , Tags, Expert Info |
1386 @node Checking, Emacs Info Variables, Tags, Expert Info | |
1387 @section Checking an Info File | 1479 @section Checking an Info File |
1388 | 1480 |
1389 When creating an Info file, it is easy to forget the name of a node when | 1481 When creating an Info file, it is easy to forget the name of a node when |
1390 you are making a pointer to it from another node. If you put in the | 1482 you are making a pointer to it from another node. If you put in the |
1391 wrong name for a node, this is not detected until someone tries to go | 1483 wrong name for a node, this is not detected until someone tries to go |
1400 | 1492 |
1401 @findex Info-validate | 1493 @findex Info-validate |
1402 To check an Info file, do @kbd{M-x Info-validate} while looking at any | 1494 To check an Info file, do @kbd{M-x Info-validate} while looking at any |
1403 node of the file with Emacs Info mode. | 1495 node of the file with Emacs Info mode. |
1404 | 1496 |
1405 @node Emacs Info Variables, , Checking, Expert Info | |
1406 @section Emacs Info-mode Variables | |
1407 | |
1408 The following variables may modify the behavior of Info-mode in Emacs; | |
1409 you may wish to set one or several of these variables interactively, or | |
1410 in your @file{~/.emacs} init file. @xref{Examining, Examining and Setting | |
1411 Variables, Examining and Setting Variables, emacs, The GNU Emacs | |
1412 Manual}. The stand-alone Info reader program has its own set of | |
1413 variables, described in @ref{Variables,, Manipulating Variables, | |
1414 info-stnd, GNU Info}. | |
1415 | |
1416 @vtable @code | |
1417 @item Info-directory-list | |
1418 The list of directories to search for Info files. Each element is a | |
1419 string (directory name) or @code{nil} (try default directory). If not | |
1420 initialized Info uses the environment variable @env{INFOPATH} to | |
1421 initialize it, or @code{Info-default-directory-list} if there is no | |
1422 @env{INFOPATH} variable in the environment. | |
1423 | |
1424 If you wish to customize the Info directory search list for both Emacs | |
1425 Info and stand-alone Info, it is best to set the @env{INFOPATH} | |
1426 environment variable, since that applies to both programs. | |
1427 | |
1428 @item Info-additional-directory-list | |
1429 A list of additional directories to search for Info documentation files. | |
1430 These directories are not searched for merging the @file{dir} file. | |
1431 | |
1432 @item Info-mode-hook | |
1433 Hooks run when @code{Info-mode} is called. By default, it contains | |
1434 the hook @code{turn-on-font-lock} which enables highlighting of Info | |
1435 files. You can change how the highlighting looks by customizing the | |
1436 faces @code{info-node}, @code{info-xref}, @code{info-xref-visited}, | |
1437 @code{info-header-xref}, @code{info-header-node}, @code{info-menu-header}, | |
1438 @code{info-menu-star}, and @code{info-title-@var{n}} (where @var{n} | |
1439 is the level of the section, a number between 1 and 4). To customize | |
1440 a face, type @kbd{M-x customize-face @key{RET} @var{face} @key{RET}}, | |
1441 where @var{face} is one of the face names listed here. | |
1442 | |
1443 @item Info-fontify-maximum-menu-size | |
1444 Maximum size of menu to fontify if @code{font-lock-mode} is non-@code{nil}. | |
1445 | |
1446 @item Info-fontify-visited-nodes | |
1447 If non-@code{nil}, menu items and cross-references pointing to visited | |
1448 nodes are displayed in the @code{info-xref-visited} face. | |
1449 | |
1450 @item Info-use-header-line | |
1451 If non-@code{nil}, Emacs puts in the Info buffer a header line showing | |
1452 the @samp{Next}, @samp{Prev}, and @samp{Up} links. A header line does | |
1453 not scroll with the rest of the buffer, making these links always | |
1454 visible. | |
1455 | |
1456 @item Info-hide-note-references | |
1457 As explained in earlier nodes, the Emacs version of Info normally | |
1458 hides some text in menus and cross-references. You can completely | |
1459 disable this feature, by setting this option to @code{nil}. Setting | |
1460 it to a value that is neither @code{nil} nor @code{t} produces an | |
1461 intermediate behavior, hiding a limited amount of text, but showing | |
1462 all text that could potentially be useful. | |
1463 | |
1464 @item Info-scroll-prefer-subnodes | |
1465 If set to a non-@code{nil} value, @key{SPC} and @key{BACKSPACE} (or | |
1466 @key{DEL}) keys in a menu visit subnodes of the current node before | |
1467 scrolling to its end or beginning, respectively. For example, if the | |
1468 node's menu appears on the screen, the next @key{SPC} moves to a | |
1469 subnode indicated by the following menu item. Setting this option to | |
1470 @code{nil} results in behavior similar to the stand-alone Info reader | |
1471 program, which visits the first subnode from the menu only when you | |
1472 hit the end of the current node. The default is @code{nil}. | |
1473 | |
1474 @item Info-isearch-search | |
1475 If non-@code{nil}, isearch in Info searches through multiple nodes. | |
1476 | |
1477 @item Info-enable-active-nodes | |
1478 When set to a non-@code{nil} value, allows Info to execute Lisp code | |
1479 associated with nodes. The Lisp code is executed when the node is | |
1480 selected. The Lisp code to be executed should follow the node | |
1481 delimiter (the @samp{DEL} character) and an @samp{execute: } tag, like | |
1482 this: | |
1483 | |
1484 @example | |
1485 ^_execute: (message "This is an active node!") | |
1486 @end example | |
1487 | |
1488 @item Info-enable-edit | |
1489 Set to @code{nil}, disables the @samp{e} (@code{Info-edit}) command. A | |
1490 non-@code{nil} value enables it. @xref{Add, Edit}. | |
1491 @end vtable | |
1492 | |
1493 | |
1494 @node Creating an Info File | |
1495 @chapter Creating an Info File from a Texinfo File | |
1496 | |
1497 @code{makeinfo} is a utility that converts a Texinfo file into an Info | |
1498 file; @code{texinfo-format-region} and @code{texinfo-format-buffer} are | |
1499 GNU Emacs functions that do the same. | |
1500 | |
1501 @xref{Top,, Overview of Texinfo, texinfo, Texinfo: The GNU | |
1502 Documentation Format}, to learn how to write a Texinfo file. | |
1503 | |
1504 @xref{Creating an Info File,,, texinfo, Texinfo: The GNU Documentation | |
1505 Format}, to learn how to create an Info file from a Texinfo file. | |
1506 | |
1507 @xref{Installing an Info File,,, texinfo, Texinfo: The GNU | |
1508 Documentation Format}, to learn how to install an Info file after you | |
1509 have created one. | |
1510 | |
1511 @node Index | 1497 @node Index |
1512 @unnumbered Index | 1498 @unnumbered Index |
1513 | 1499 |
1514 This is an alphabetical listing of all the commands, variables, and | 1500 This is an alphabetical listing of all the commands, variables, and |
1515 topics discussed in this document. | 1501 topics discussed in this document. |