Without any prefix argument, make or update a menu.
Make the menu for the section enclosing the node found following point.
Non-nil argument (prefix, if interactive) means make or update menus
for nodes within or part of the marked region.
Whenever a menu exists, and is being updated, the descriptions that
are associated with node names in the pre-existing menu are
incorporated into the new menu. Otherwise, the nodes' section titles
are inserted as descriptions." (interactive "P") (byte-code "
" [region-p level beginning region-end nil latexinfo-hierarchic-level latexinfo-make-one-menu message "Done...updated the menu. You may save the buffer." "Making or updating menus in %s... " buffer-name region-beginning error "Please mark a region!" widen latexinfo-find-lower-level-node latexinfo-find-higher-level-node "Done...updated menus. You may save the buffer."] 22))
(defun latexinfo-make-one-menu (level) "\
Make a menu of all the appropriate nodes in this section.
`Appropriate nodes' are those associated with sections that are
at the level specified by LEVEL. Point is left at the end of menu." (byte-code "
" [case-fold-search t beginning level end first node-name new-menu-list latexinfo-update-menu-region-beginning end-of-line latexinfo-update-menu-region-end latexinfo-menu-first-node beginning-of-line latexinfo-copy-node-name latexinfo-make-menu-list latexinfo-old-menu-p latexinfo-incorporate-descriptions latexinfo-delete-old-menu latexinfo-insert-menu] 13))
If called with a non-nil argument, this function first updates all the
nodes in the buffer before updating the menus.
If called with a non-nil argument of 'sequential, this function first
sequentially updates all the nodes in the buffer before updating the menus.
" (interactive "P") (byte-code "
" [master-menu-p latexinfo-master-menu-header nil t end-of-detailed-menu-descriptions update-all-nodes-p mark-whole-buffer message "Checking for a master menu in %s ... " buffer-name re-search-forward match-beginning 0 latexinfo-menu-end beginning-of-line forward-char -1 delete-region "Updating all nodes in %s ... " sleep-for 2 equal sequential latexinfo-sequential-node-update latexinfo-update-node "Updating all menus in %s ... " latexinfo-make-menu "Updating the master menu in %s... " latexinfo-master-menu "Done...updated all the menus. You may save the buffer."] 27))
Indent every description in menu following point to COLUMN.
Non-nil argument (prefix, if interactive) means indent every
description in every menu in the region. Does not indent second and
subsequent lines of a multi-line description." (interactive "nIndent menu descriptions to (column number):
P") (byte-code "
" [region-p column nil widen re-search-forward "^\\\\begin{menu}" latexinfo-menu-indent-description message "Indented descriptions in menu. You may save the buffer." "Indenting every menu description in region... " region-beginning region-end latexinfo-locate-menu-p forward-line 1 "Indenting done. You may save the buffer."] 12))
Non-nil argument (prefix, if interactive) means first update all
existing nodes and menus. Remove pre-existing master menu, if there is one.
This function creates a master menu that follows the top node. The
master menu includes every entry from all the other menus. It
replaces any existing ordinary menu that follows the top node.
If called with a non-nil argument, this function first updates all the
menus in the buffer (incorporating descriptions from pre-existing
menus) before it constructs the master menu.
The function removes the detailed part of an already existing master
menu. This action depends on the pre-exisitng master menu using the
standard `latexinfo-master-menu-header'.
The master menu has the following format, which is adapted from the
recommendation in the Latexinfo Manual:
* The first part contains the major nodes in the Latexinfo file: the
nodes for the chapters, chapter-like sections, and the major
appendices. This includes the indices, so long as they are in
chapter-like sections, such as unnumbered sections.
* The second and subsequent parts contain a listing of the other,
lower level menus, in order. This way, an inquirer can go
directly to a particular node if he or she is searching for
specific information.
Each of the menus in the detailed node listing is introduced by the
title of the section containing the menu." (interactive "P") (byte-code "
" [nil t first-chapter latexinfo-master-menu-header end-of-detailed-menu-descriptions update-all-nodes-menus-p widen re-search-forward "^\\\\node [ ]*top[ ]*\\(,\\|$\\)" error "This buffer needs a Top node!" "^\\\\node" match-beginning 0 latexinfo-menu-end beginning-of-line forward-char -1 delete-region message "Making a master menu in %s ...first updating all nodes... " buffer-name sleep-for 2 mark-whole-buffer latexinfo-update-node "Updating all menus in %s ... " latexinfo-make-menu "Now making the master menu in %s... " latexinfo-insert-master-menu-list latexinfo-master-menu-list "
" delete-blank-lines re-search-backward "^\\\\begin{menu}" forward-line "^\\\\end{menu}" 1 "Done...completed making master menu. You may save the buffer."] 36))
(defun latexinfo-master-menu-list nil "\
Return a list of menu entries and header lines for the master menu.
Start with the menu for chapters and indices and then find each
following menu and the title of the node preceding that menu.
The master menu list has this form:
(((... \"entry-1-2\" \"entry-1\") \"title-1\")
((... \"entry-2-2\" \"entry-2-1\") \"title-2\")
...)
However, there does not need to be a title field." (byte-code "
The `latexinfo-column-for-description' variable specifies the column to
which menu descriptions are indented. Its default value is 32." (interactive "P") (byte-code "
" [region-p auto-fill-hook nil t beginning end re-search-backward "^\\\\node" error "Node line not found before this position." latexinfo-update-the-node message "Done...updated the node. You may save the buffer." region-beginning region-end "Please mark a region!" narrow-to-region push-mark re-search-forward beginning-of-line "Done...updated nodes in region. You may save the buffer."] 14))
(defun latexinfo-every-node-update nil "\
Update every node in a Latexinfo file." (interactive) (byte-code "
" [t nil mark-whole-buffer latexinfo-update-node message "Done...updated every node. You may save the buffer."] 4))
(defun latexinfo-update-the-node nil "\
Update one node. Point must be at the beginning of node line.
Leave point at the end of the node line." (byte-code "
" [case-fold-search t level beginning end latexinfo-check-for-node-name latexinfo-delete-existing-pointers message "Updating node: %s ... " latexinfo-copy-node-name widen latexinfo-hierarchic-level latexinfo-update-menu-region-beginning latexinfo-update-menu-region-end string-equal "top" latexinfo-top-pointer-case latexinfo-insert-pointer next previous up latexinfo-clean-up-node-line] 17))
(defun latexinfo-top-pointer-case nil "\
Insert pointers in the Top node. This is a special case.
The `Next' pointer is a pointer to a chapter or section at a lower
hierarchical level in the file. The `Previous' and `Up' pointers are
to `(dir)'. Point must be at the beginning of the node line, and is
Update one node (or many) in a Latexinfo file with sequential pointers.
This function causes the `Next' or `Previous' pointer to point to the
immediately preceding or following node, even if it is at a higher or
lower hierarchical level in the document. Continually pressing `n' or
`p' takes you straight through the file.
Without any prefix argument, update the node in which point is located.
Non-nil argument (prefix, if interactive) means update the nodes in the
marked region.
This command makes it awkward to navigate among sections and
subsections; it should be used only for those documents that are meant
to be read like a novel rather than a reference, and for which the
Info `g*' command is inadequate." (interactive "P") (byte-code "
" [region-p auto-fill-hook nil t beginning end re-search-backward "^\\\\node" error "Node line not found before this position." latexinfo-sequentially-update-the-node message "Done...sequentially updated the node . You may save the buffer." region-beginning region-end "Please mark a region!" narrow-to-region push-mark re-search-forward beginning-of-line "Done...updated the nodes in sequence. You may save the buffer."] 14))
Insert the `Next', `Previous' or `Up' node name at point.
Move point forward.
The first argument is the hierarchical level of the Latexinfo file, a
string such as \"section\". The second argument is direction, one of
`next, `previous, or 'up." (byte-code "
\"!)\"
" [level direction end-of-line insert ", " latexinfo-pointer-name latexinfo-sequentially-find-pointer] 7))
(defun latexinfo-insert-node-lines (beginning end &optional title-p) "\
Insert missing `\\node' lines in region of Latexinfo file.
Non-nil argument (prefix, if interactive) means also to insert the
section titles as node names; and also to insert the section titles as
node names in pre-existing \\node lines that lack names." (interactive "r
P") (byte-code "
" [beginning-marker end-marker title last-section-position end t beginning latexinfo-section-types-regexp title-p nil push-mark mark-marker re-search-forward beginning-of-line forward-word 1 skip-chars-forward " " buffer-substring search-forward "," forward-sexp yes re-search-backward "^\\\\node" forward-line -2 "\\node
" backward-char looking-at "[^,
]+" insert " " message "Inserted title %s ... " 3 set-mark "Done inserting node lines and titles. You may save the buffer." "Done inserting node lines. You may save the buffer."] 27))