Update to RefTeX 4.19

This commit is contained in:
Carsten Dominik 2002-08-27 09:58:05 +00:00
parent a062d73f50
commit 3b919c9f8c
8 changed files with 374 additions and 95 deletions

View file

@ -30,9 +30,11 @@
(require 'reftex)
;;;
;; START remove for XEmacs release
(defvar mark-active)
(defvar zmacs-regions)
(defvar transient-mark-mode)
;; END remove for XEmacs release
(defun reftex-index-selection-or-word (&optional arg phrase)
"Put selection or the word near point into the default index macro.
This uses the information in `reftex-index-default-macro' to make an index

View file

@ -551,7 +551,7 @@ of master file."
;; exact (t) or approximate (nil).
(let ((docstruct (symbol-value reftex-docstruct-symbol))
(cnt 0) rtn
(cnt 0) rtn rtn-if-no-other
found)
(save-excursion
(while (not rtn)
@ -591,8 +591,8 @@ of master file."
(setq rtn1 (car list) list nil))
((looking-at (reftex-make-regexp-allow-for-ctrl-m
(nth 7 (car list))))
;; Same title
(setq rtn1 (car list) list nil cnt 2))))
;; Same title: remember, but keep looking
(setq rtn-if-no-other (car list)))))
(pop list))
rtn1))
((match-end 7)
@ -637,6 +637,10 @@ of master file."
(symbol-value reftex-docstruct-symbol))))
(t
(error "This should not happen (reftex-where-am-I)"))))))
;; Check if there was only a by-name match for the section.
(when (and (not rtn) rtn-if-no-other)
(setq rtn rtn-if-no-other
cnt 2))
(cons rtn (eq cnt 1))))
(defun reftex-notice-new (&optional n force)
@ -1002,7 +1006,12 @@ of master file."
;; Return a string with the current section number.
;; When LEVEL is non-nil, increase section numbers on that level.
(let* ((depth (1- (length reftex-section-numbers))) idx n (string "")
(appendix (get 'reftex-section-numbers 'appendix)))
(appendix (get 'reftex-section-numbers 'appendix))
(partspecial (and (not reftex-part-resets-chapter)
(equal level 0))))
;; partspecial means, this is a part statement.
;; Parts do not reset the chapter counter, and the part number is
;; not included in the numbering of other sectioning levels.
(when level
(when (and (> level -1) (not star))
(aset reftex-section-numbers
@ -1010,28 +1019,52 @@ of master file."
(setq idx (1+ level))
(when (not star)
(while (<= idx depth)
(aset reftex-section-numbers idx 0)
(if (or (not partspecial)
(not (= idx 1)))
(aset reftex-section-numbers idx 0))
(incf idx))))
(setq idx 0)
(while (<= idx depth)
(setq n (aref reftex-section-numbers idx))
(setq string (concat string (if (not (string= string "")) "." "")
(int-to-string n)))
(incf idx))
(save-match-data
(if (string-match "\\`\\([@0]\\.\\)+" string)
(setq string (replace-match "" nil nil string)))
(if (string-match "\\(\\.0\\)+\\'" string)
(setq string (replace-match "" nil nil string)))
(if (and appendix
(string-match "\\`[0-9]+" string))
(setq string
(concat
(char-to-string
(1- (+ ?A (string-to-int (match-string 0 string)))))
(substring string (match-end 0))))))
(if star
(concat (make-string (1- (length string)) ?\ ) "*")
string)))
(if partspecial
(setq string (concat "Part " (reftex-roman-number
(aref reftex-section-numbers 0))))
(setq idx (if reftex-part-resets-chapter 0 1))
(while (<= idx depth)
(setq n (aref reftex-section-numbers idx))
(if (not (and partspecial (not (equal string ""))))
(setq string (concat string (if (not (string= string "")) "." "")
(int-to-string n))))
(incf idx))
(save-match-data
(if (string-match "\\`\\([@0]\\.\\)+" string)
(setq string (replace-match "" nil nil string)))
(if (string-match "\\(\\.0\\)+\\'" string)
(setq string (replace-match "" nil nil string)))
(if (and appendix
(string-match "\\`[0-9]+" string))
(setq string
(concat
(char-to-string
(1- (+ ?A (string-to-int (match-string 0 string)))))
(substring string (match-end 0))))))
(if star
(concat (make-string (1- (length string)) ?\ ) "*")
string))))
(defun reftex-roman-number (n)
;; Return as a string the roman number equal to N.
(let ((nrest n)
(string "")
(list '((1000 . "M") ( 900 . "CM") ( 500 . "D") ( 400 . "CD")
( 100 . "C") ( 90 . "XC") ( 50 . "L") ( 40 . "XL")
( 10 . "X") ( 9 . "IX") ( 5 . "V") ( 4 . "IV")
( 1 . "I")))
listel i s)
(while (>= nrest 1)
(setq listel (pop list)
i (car listel)
s (cdr listel))
(while (>= nrest i)
(setq string (concat string s)
nrest (- nrest i))))
string))
;;; reftex-parse.el ends here

View file

@ -421,7 +421,7 @@ When called with 2 C-u prefix args, disable magic word recognition."
(reftex-offer-label-menu type)))
(reftex-ensure-compiled-variables)
(set-marker reftex-select-return-marker nil)
;; If the first entry is the symbol 'concat, concat all all labels.
;; If the first entry is the symbol 'concat, concat all labels.
;; We keep the cdr of the first label for typekey etc information.
(if (eq (car labels) 'concat)
(setq labels (list (list (mapconcat 'car (cdr labels) ",")
@ -802,4 +802,36 @@ When called with 2 C-u prefix args, disable magic word recognition."
(defun reftex-format-fref (label def-fmt)
(format "\\fref{%s}" label))
;(defun reftex-goto-label ()
; (interactive)
; (reftex-access-scan-info)
; (let* ((docstruct (symbol-value reftex-docstruct-symbol))
; (label (completing-read "Label: " docstruct
; (lambda (x) (stringp (car x))) t))
; (selection (assoc label docstruct)))
; (reftex-show-label-location selection t nil 'stay)
; (reftex-unhighlight 0)))
(defun reftex-goto-label (&optional other-window)
"Prompt for a label (with completion) and jump to the location of this label.
Optional prefix argument OTHER-WINDOW goes to the label in another window."
(interactive "P")
(reftex-access-scan-info)
(let* ((wcfg (current-window-configuration))
(docstruct (symbol-value reftex-docstruct-symbol))
(label (completing-read "Label: " docstruct
(lambda (x) (stringp (car x))) t))
(selection (assoc label docstruct))
(where (progn
(reftex-show-label-location selection t nil 'stay)
(point-marker))))
(unless other-window
(set-window-configuration wcfg)
(switch-to-buffer (marker-buffer where))
(goto-char where))
(reftex-unhighlight 0)))
;;; reftex-ref.el ends here

View file

@ -89,17 +89,40 @@ During a selection process, these are the local bindings.
;; We do not set a local map - reftex-select-item does this.
(run-hooks 'reftex-select-bib-mode-hook))
;;; (defun reftex-get-offset (buf here-am-I &optional typekey toc index file)
;;; ;; Find the correct offset data, like insert-docstruct would, but faster.
;;; ;; Buffer BUF knows the correct docstruct to use.
;;; ;; Basically this finds the first docstruct entry after HERE-I-AM which
;;; ;; is of allowed type. The optional arguments specify what is allowed.
;;; (catch 'exit
;;; (save-excursion
;;; (set-buffer buf)
;;; (reftex-access-scan-info)
;;; (let* ((rest (memq here-am-I (symbol-value reftex-docstruct-symbol)))
;;; entry)
;;; (while (setq entry (pop rest))
;;; (if (or (and typekey
;;; (stringp (car entry))
;;; (or (equal typekey " ")
;;; (equal typekey (nth 1 entry))))
;;; (and toc (eq (car entry) 'toc))
;;; (and index (eq (car entry) 'index))
;;; (and file
;;; (memq (car entry) '(bof eof file-error))))
;;; (throw 'exit entry)))
;;; nil))))
(defun reftex-get-offset (buf here-am-I &optional typekey toc index file)
;; Find the correct offset data, like insert-docstruct would, but faster.
;; Buffer BUF knows the correct docstruct to use.
;; Basically this finds the first docstruct entry after HERE-I-AM which
;; Basically this finds the first docstruct entry before HERE-I-AM which
;; is of allowed type. The optional arguments specify what is allowed.
(catch 'exit
(save-excursion
(set-buffer buf)
(reftex-access-scan-info)
(let* ((rest (memq here-am-I (symbol-value reftex-docstruct-symbol)))
entry)
(let* ((rest (symbol-value reftex-docstruct-symbol))
lastentry entry)
(while (setq entry (pop rest))
(if (or (and typekey
(stringp (car entry))
@ -109,7 +132,9 @@ During a selection process, these are the local bindings.
(and index (eq (car entry) 'index))
(and file
(memq (car entry) '(bof eof file-error))))
(throw 'exit entry)))
(setq lastentry entry))
(if (eq entry here-am-I)
(throw 'exit (or lastentry entry))))
nil))))
(defun reftex-insert-docstruct
@ -149,7 +174,7 @@ During a selection process, these are the local bindings.
'font-lock-constant-face
'font-lock-reference-face))
all cell text label typekey note comment master-dir-re
offset from to index-tag docstruct-symbol)
prev-inserted offset from to index-tag docstruct-symbol)
;; Pop to buffer buf to get the correct buffer-local variables
(save-excursion
@ -176,8 +201,6 @@ During a selection process, these are the local bindings.
(incf index)
(setq from (point))
(if (eq cell here-I-am) (setq offset 'attention))
(cond
((memq (car cell) '(bib thebib label-numbers appendix
@ -187,7 +210,8 @@ During a selection process, these are the local bindings.
((memq (car cell) '(bof eof file-error))
;; Beginning or end of a file
(when files
(if (eq offset 'attention) (setq offset cell))
(setq prev-inserted cell)
; (if (eq offset 'attention) (setq offset cell))
(insert
" File " (if (string-match master-dir-re (nth 1 cell))
(substring (nth 1 cell) (match-end 0))
@ -209,7 +233,8 @@ During a selection process, these are the local bindings.
;; a table of contents entry
(when (and toc
(<= (nth 5 cell) reftex-toc-max-level))
(if (eq offset 'attention) (setq offset cell))
(setq prev-inserted cell)
; (if (eq offset 'attention) (setq offset cell))
(setq reftex-active-toc cell)
(insert (concat toc-indent (nth 2 cell) "\n"))
(setq to (point))
@ -244,7 +269,8 @@ During a selection process, these are the local bindings.
;; Yes we want this one
(incf cnt)
(if (eq offset 'attention) (setq offset cell))
(setq prev-inserted cell)
; (if (eq offset 'attention) (setq offset cell))
(setq label (concat xr-prefix label))
(when comment (setq label (concat "% " label)))
@ -278,7 +304,8 @@ During a selection process, these are the local bindings.
(when (and index-entries
(or (eq t index-entries)
(string= index-entries (nth 1 cell))))
(if (eq offset 'attention) (setq offset cell))
(setq prev-inserted cell)
; (if (eq offset 'attention) (setq offset cell))
(setq index-tag (format "<%s>" (nth 1 cell)))
(and font
(put-text-property 0 (length index-tag)
@ -301,7 +328,13 @@ During a selection process, these are the local bindings.
(when mouse-face
(put-text-property from (1- to)
'mouse-face mouse-face))
(goto-char to)))))
(goto-char to))))
(if (eq cell here-I-am)
(setq offset 'attention))
(if (and prev-inserted (eq offset 'attention))
(setq offset prev-inserted))
)
(when (reftex-refontify)
;; we need to fontify the buffer

View file

@ -95,7 +95,7 @@ C-c > Display Index. With prefix arg, restrict index to current section.
q / k Hide/Kill *toc* buffer, return to position of reftex-toc command.
l i c F Toggle display of [l]abels, [i]ndex, [c]ontext, [F]ile borders.
t Change maximum toc depth (e.g. `3 t' hides levels greater than 3).
f / g Toggle follow mode on and off / Refresh *toc* buffer.
f / a / g Toggle follow mode / toggle auto recenter / Refresh *toc* buffer.
r / C-u r Reparse the LaTeX document / Reparse entire LaTeX document.
. In other window, show position from where `reftex-toc' was called.
x Switch to TOC of external document (with LaTeX package `xr').
@ -132,7 +132,7 @@ When called with a raw C-u prefix, rescan the document first."
(docstruct-symbol reftex-docstruct-symbol)
(xr-data (assq 'xr (symbol-value reftex-docstruct-symbol)))
(xr-alist (cons (cons "" (buffer-file-name)) (nth 1 xr-data)))
(here-I-am (if rebuild
(here-I-am (if (boundp 'reftex-rebuilding-toc)
(get 'reftex-toc :reftex-data)
(car (reftex-where-am-I))))
offset)
@ -218,10 +218,31 @@ SPC=view TAB=goto RET=goto+hide [q]uit [r]escan [l]abels [f]ollow [x]r [?]Help
(reftex-find-start-point (point) offset (get 'reftex-toc :reftex-line))
(setq reftex-last-follow-point (point))))
(defun reftex-toc-recenter (&optional arg)
"Display the TOC window and highlight line corresponding to current position."
(interactive "P")
(let ((buf (current-buffer)))
(reftex-toc arg)
(if (= (count-lines 1 (point)) 2)
(let ((current-prefix-arg nil))
(select-window (get-buffer-window buf))
(reftex-toc nil)))
(and (> (point) 1)
(not (get-text-property (point) 'intangible))
(memq reftex-highlight-selection '(cursor both))
(reftex-highlight 2
(or (previous-single-property-change
(min (point-max) (1+ (point))) :data)
(point-min))
(or (next-single-property-change (point) :data)
(point-max))))
(select-window (get-buffer-window buf))))
(defun reftex-toc-pre-command-hook ()
;; used as pre command hook in *toc* buffer
(reftex-unhighlight 0)
(reftex-unhighlight 1))
;; (reftex-unhighlight 1) ;; remove highlight on leaving buffer.
)
(defun reftex-toc-post-command-hook ()
;; used in the post-command-hook for the *toc* buffer
@ -230,7 +251,7 @@ SPC=view TAB=goto RET=goto+hide [q]uit [r]escan [l]abels [f]ollow [x]r [?]Help
(and (> (point) 1)
(not (get-text-property (point) 'intangible))
(memq reftex-highlight-selection '(cursor both))
(reftex-highlight 1
(reftex-highlight 2
(or (previous-single-property-change (1+ (point)) :data)
(point-min))
(or (next-single-property-change (point) :data)
@ -410,16 +431,20 @@ With prefix arg 1, restrict index to the section at point."
(switch-to-buffer-other-window
(reftex-get-file-buffer-force file))
(setq current-prefix-arg '(4))
(reftex-toc t)))
(let ((reftex-rebuilding-toc t))
(reftex-toc))))
(reftex-toc-Rescan))
(reftex-kill-temporary-buffers))
(defun reftex-toc-Rescan (&rest ignore)
"Regenerate the *toc* buffer by reparsing the entire document."
(interactive)
(let* ((line (+ (count-lines (point-min) (point)) (if (bolp) 1 0))))
(put 'reftex-toc :reftex-line line))
(switch-to-buffer-other-window
(reftex-get-file-buffer-force reftex-last-toc-file))
(setq current-prefix-arg '(16))
(reftex-toc t))
(let ((reftex-rebuilding-toc t))
(reftex-toc)))
(defun reftex-toc-revert (&rest ignore)
"Regenerate the *toc* from the internal lists."
(interactive)
@ -427,7 +452,8 @@ With prefix arg 1, restrict index to the section at point."
(reftex-get-file-buffer-force reftex-last-toc-file))
(reftex-erase-buffer "*toc*")
(setq current-prefix-arg nil)
(reftex-toc t))
(let ((reftex-rebuilding-toc t))
(reftex-toc t)))
(defun reftex-toc-external (&rest ignore)
"Switch to table of contents of an external document."
(interactive)
@ -573,6 +599,38 @@ Useful for large TOC's."
(setq old (substring old (match-end 0))))
new))
(defun reftex-recenter-toc-when-idle ()
(and (> (buffer-size) 5)
reftex-mode
(not (active-minibuffer-window))
(fboundp 'reftex-toc-mode)
(get-buffer-window "*toc*")
(string= reftex-last-toc-master (reftex-TeX-master-file))
(reftex-toc-recenter)))
(defun reftex-toggle-auto-toc-recenter ()
"Toggle the automatic recentering of the toc window.
When active, leaving point idle will make the toc window jump to the correct
section."
(interactive)
(if reftex-toc-auto-recenter-timer
(progn
(if (featurep 'xemacs)
(delete-itimer reftex-toc-auto-recenter-timer)
(cancel-timer reftex-toc-auto-recenter-timer))
(setq reftex-toc-auto-recenter-timer nil)
(message "Automatic recentering of toc buffer was turned off"))
(setq reftex-toc-auto-recenter-timer
(if (featurep 'xemacs)
(start-itimer "RefTeX Idle Timer for recenter"
'reftex-recenter-toc-when-idle
reftex-idle-time reftex-idle-time t)
(run-with-idle-timer
reftex-idle-time t 'reftex-recenter-toc-when-idle)))
(message "Automatic recentering of toc window was turned on")))
;; Table of Contents map
(define-key reftex-toc-map (if (featurep 'xemacs) [(button2)] [(mouse-2)])
'reftex-toc-mouse-goto-line-and-hide)
@ -596,6 +654,7 @@ Useful for large TOC's."
("q" . reftex-toc-quit)
("k" . reftex-toc-quit-and-kill)
("f" . reftex-toc-toggle-follow)
("a" . reftex-toggle-auto-toc-recenter)
("F" . reftex-toc-toggle-file-boundary)
("i" . reftex-toc-toggle-index)
("l" . reftex-toc-toggle-labels)

View file

@ -265,6 +265,26 @@ This variable can be changed from within the *toc* buffer with the `t' key."
:group 'reftex-table-of-contents-browser
:type 'integer)
(defcustom reftex-part-resets-chapter nil
"*Non-nil means, \\part is like any other sectioning command.
This means, part numbers will be included in the numbering of chapters, and
chapter counters will be reset for each part.
When nil (the default), parts are special, do not reset the chapter counter
and also do not show up in chapter numbers."
:group 'reftex-table-of-contents-browser
:type 'boolean)
(defcustom reftex-auto-recenter-toc nil
"*Non-nil means, initially turn automatic recentering of toc on.
When active, the *TOC* buffer will always show the section you
are currently working in. Recentering happens whenever Emacs is idle for
more than `reftex-idle-time' seconds.
This feature can be turned on and off from the menu
(Ref->Options)."
:group 'reftex-table-of-contents-browser
:type 'boolean)
(defcustom reftex-toc-split-windows-horizontally nil
"*Non-nil means, create TOC window by splitting window horizontally."
:group 'reftex-table-of-contents-browser
@ -1298,12 +1318,12 @@ which subgroup of the match should be highlighted."
(defcustom reftex-auto-view-crossref t
"*Non-nil means, initially turn automatic viewing of crossref info on.
Automatic viewing of crossref info normally uses the echo area.
Whenever point is on the argument of a \\ref or \\cite macro, and no
other message is being displayed, the echo area will display
information about that cross reference. You can also set the variable
to the symbol `window'. In this case a small temporary window is
used for the display.
This feature can be turned on and of from the menu
Whenever point is idle for more than `reftex-idle-time' seconds on the
argument of a \\ref or \\cite macro, and no other message is being
displayed, the echo area will display information about that cross
reference. You can also set the variable to the symbol `window'. In
this case a small temporary window is used for the display.
This feature can be turned on and off from the menu
(Ref->Options)."
:group 'reftex-viewing-cross-references
:type '(choice (const :tag "off" nil)
@ -1311,7 +1331,8 @@ This feature can be turned on and of from the menu
(const :tag "in Other Window" window)))
(defcustom reftex-idle-time 1.2
"*Time (secs) Emacs has to be idle before automatic crossref display is done."
"*Time (secs) Emacs has to be idle before automatic crossref display is done.
Applies also to toc recentering."
:group 'reftex-viewing-cross-references
:type 'number)

View file

@ -327,8 +327,12 @@
(modify-syntax-entry ?\[ "." reftex-syntax-table-for-bib)
(modify-syntax-entry ?\] "." reftex-syntax-table-for-bib))
;; The following definitions are out of place, but I need them here
;; to make the compilation of reftex-mode not complain.
(defvar reftex-auto-view-crossref-timer nil
"The timer used for auto-view-crossref.")
(defvar reftex-toc-auto-recenter-timer nil
"The idle timer used to recenter the toc window.")
;;;###autoload
(defun turn-on-reftex ()
@ -381,6 +385,10 @@ on the menu bar.
(and reftex-auto-view-crossref
(reftex-toggle-auto-view-crossref))
(put 'reftex-auto-view-crossref 'initialized t))
(unless (get 'reftex-auto-recenter-toc 'initialized)
(and reftex-auto-recenter-toc
(reftex-toggle-auto-toc-recenter))
(put 'reftex-auto-recenter-toc 'initialized t))
;; Prepare the special syntax tables.
(setq reftex-syntax-table (copy-syntax-table (syntax-table)))
@ -695,8 +703,6 @@ the label information is recompiled on next use."
(defvar reftex-callback-fwd t)
(defvar reftex-last-toc-master nil
"Stores the name of the tex file that `reftex-toc' was last run on.")
(defvar reftex-auto-view-crossref-timer nil
"The timer used for auto-view-crossref.")
;; Marker for return point from recursive edit
(defvar reftex-recursive-edit-marker (make-marker))
@ -1641,14 +1647,18 @@ When DIE is non-nil, throw an error if file not found."
"Make a fancyref \\Fref reference." t)
(autoload 'reftex-show-label-location "reftex-ref")
(autoload 'reftex-query-label-type "reftex-ref")
(autoload 'reftex-goto-label "reftex-ref"
"Prompt for label name and go to that location." t)
;;; =========================================================================
;;;
;;; Table of contents
(autoload 'reftex-toc "reftex-toc"
"Show the table of contents for the current document." t)
"Show the table of contents for the current document." t)
(autoload 'reftex-toc-recenter "reftex-toc"
"Display the TOC window and highlight line corresponding to current position." t)
(autoload 'reftex-toggle-auto-toc-recenter "reftex-toc" t)
;;; =========================================================================
@ -2313,7 +2323,7 @@ IGNORE-WORDS List of words which should be removed from the string."
(if (featurep 'xemacs) (require 'overlay))
;; We keep a vector with several different overlays to do our highlighting.
(defvar reftex-highlight-overlays [nil nil])
(defvar reftex-highlight-overlays [nil nil nil])
;; Initialize the overlays
(aset reftex-highlight-overlays 0 (make-overlay 1 1))
@ -2322,6 +2332,9 @@ IGNORE-WORDS List of words which should be removed from the string."
(aset reftex-highlight-overlays 1 (make-overlay 1 1))
(overlay-put (aref reftex-highlight-overlays 1)
'face reftex-cursor-selected-face)
(aset reftex-highlight-overlays 2 (make-overlay 1 1))
(overlay-put (aref reftex-highlight-overlays 2)
'face reftex-cursor-selected-face)
;; Two functions for activating and deactivation highlight overlays
(defun reftex-highlight (index begin end &optional buffer)
@ -2344,6 +2357,7 @@ IGNORE-WORDS List of words which should be removed from the string."
;; The default bindings in the mode map.
(loop for x in
'(("\C-c=" . reftex-toc)
("\C-c-" . reftex-toc-recenter)
("\C-c(" . reftex-label)
("\C-c)" . reftex-reference)
("\C-c[" . reftex-citation)
@ -2393,6 +2407,7 @@ IGNORE-WORDS List of words which should be removed from the string."
"Menu used in RefTeX mode"
`("Ref"
["Table of Contents" reftex-toc t]
["Recenter TOC" reftex-toc-recenter t]
"--"
["\\label" reftex-label t]
["\\ref" reftex-reference t]
@ -2414,14 +2429,13 @@ IGNORE-WORDS List of words which should be removed from the string."
["Entire Document" reftex-parse-all t]
["Save to File" (reftex-access-parse-file 'write)
(> (length (symbol-value reftex-docstruct-symbol)) 0)]
["Restore from File" (reftex-access-parse-file 'restore) t]
"--"
["Reset RefTeX Mode" reftex-reset-mode t])
["Restore from File" (reftex-access-parse-file 'restore) t])
("Global Actions"
["Search Whole Document" reftex-search-document t]
["Replace in Document" reftex-query-replace-document t]
["Grep on Document" reftex-grep-document t]
"--"
["Goto Label" reftex-goto-label t]
["Find Duplicate Labels" reftex-find-duplicate-labels t]
["Change Label and Refs" reftex-change-label t]
["Renumber Simple Labels" reftex-renumber-simple-labels t]
@ -2439,6 +2453,10 @@ IGNORE-WORDS List of words which should be removed from the string."
(setq reftex-save-parse-info (not reftex-save-parse-info))
:style toggle :selected reftex-save-parse-info]
"--"
"TOC RECENTER"
["Automatic Recenter" reftex-toggle-auto-toc-recenter
:style toggle :selected reftex-toc-auto-recenter-timer]
"--"
"CROSSREF INFO"
["Automatic Info" reftex-toggle-auto-view-crossref
:style toggle :selected reftex-auto-view-crossref-timer]
@ -2491,6 +2509,8 @@ IGNORE-WORDS List of words which should be removed from the string."
(list 'get 'reftex-docstruct-symbol
(list 'quote 'reftex-index-macros-style)))))
reftex-index-macros-builtin))
"--"
["Reset RefTeX Mode" reftex-reset-mode t]
"--"
("Customize"
["Browse RefTeX Group" reftex-customize t]

View file

@ -9,9 +9,9 @@
@synindex ky cp
@syncodeindex vr cp
@syncodeindex fn cp
@set VERSION 4.18
@set EDITION 4.18
@set DATE July 2002
@set VERSION 4.19
@set EDITION 4.19
@set DATE August 2002
@c %**end of header
@finalout
@ -409,15 +409,8 @@ contains style files which trigger appropriate settings in
additional customizations will be necessary.@refill
@item
@b{Useful Settings}@* To make @b{Ref@TeX{}} faster for large documents,
try these:@refill
@lisp
(setq reftex-enable-partial-scans t)
(setq reftex-save-parse-info t)
(setq reftex-use-multiple-selection-buffers t)
@end lisp
To integrate with AUCTeX, use
@b{Useful Settings}@*
To integrate RefTeX with AUCTeX, use
@lisp
(setq reftex-plug-into-AUCTeX t)
@end lisp
@ -528,6 +521,7 @@ mode. See, however, the variable
Show calling point in another window. This is the point from where
@code{reftex-toc} was last called.
@page
@tablesubheading{Exiting}
@item q
Hide the @file{*toc*} buffer, return to the position where
@ -606,12 +600,39 @@ current document is using the @code{xr} package (@pxref{xr (LaTeX
package)}), @b{Ref@TeX{}} will switch to one of the external
documents.@refill
@item a
Toggle the automatic recentering of the @file{*toc*} buffer. When this
option is on, moving around in the document will cause the @file{*toc*}
to always highlight the current section. This can be enabled by default
with the variable @code{reftex-auto-recenter-toc}.
@end table
@vindex reftex-toc-map
In order to define additional commands for the @file{*toc*} buffer, the
keymap @code{reftex-toc-map} may be used.@refill
@findex reftex-toc-recenter
@vindex reftex-auto-recenter-toc
@vindex reftex-idle-time
@cindex @file{*toc*} buffer, recentering
@cindex Table of contents buffer, recentering
@kindex C-c -
If you call @code{reftex-toc} while the @file{*toc*} buffer already
exists, the cursor will immediately jump to the right place, i.e. the
section from which @code{reftex-toc} was called will be highlighted.
The command @kbd{C-c -} (@code{reftex-toc-recenter}) will only redisplay
the @file{*toc*} buffer and highlight the correct line without actually
selecting the @file{*toc*} window. This can be useful to quickly find
out where in the document you currently are. If you want the TOC buffer
to show the current section automatically whenever you stop typing, try
@lisp
(setq reftex-auto-recenter-toc t)
@end lisp
When this is turned on, the toc buffer will be recentered whenever Emacs
is idle for more than @code{reftex-idle-time} seconds.
@cindex Sectioning commands
@cindex KOMA-Script, LaTeX classes
@cindex LaTeX classes, KOMA-Script
@ -1508,10 +1529,11 @@ the entries described above:
@kindex C-c &
@kindex S-mouse-2
When point is idle on the argument of a @code{\ref} macro, the echo area
will display some information about the label referenced there. Note
that the information is only displayed if the echo area is not occupied
by a different message.
When point is idle for more than @code{reftex-idle-time} seconds on the
argument of a @code{\ref} macro, the echo area will display some
information about the label referenced there. Note that the information
is only displayed if the echo area is not occupied by a different
message.
@b{Ref@TeX{}} can also display the label definition corresponding to a
@code{\ref} macro, or all reference locations corresponding to a
@ -1808,10 +1830,10 @@ files correctly.@refill
@findex reftex-view-crossref
@findex reftex-mouse-view-crossref
When point is idle on the argument of a @code{\cite} macro, the echo area
will display some information about the article cited there. Note
that the information is only displayed if the echo area is not occupied
by a different message.
When point is idle for more than @code{reftex-idle-time} seconds on the
argument of a @code{\cite} macro, the echo area will display some
information about the article cited there. Note that the information is
only displayed if the echo area is not occupied by a different message.
@b{Ref@TeX{}} can also display the @code{\bibitem} or BibTeX database
entry corresponding to a @code{\cite} macro, or all citation locations
@ -2578,6 +2600,7 @@ entire set of options.@refill
Here is a summary of the available key bindings.
@kindex C-c =
@kindex C-c -
@kindex C-c (
@kindex C-c )
@kindex C-c [
@ -2590,6 +2613,7 @@ Here is a summary of the available key bindings.
@kindex C-c >
@example
@kbd{C-c =} @code{reftex-toc}
@kbd{C-c -} @code{reftex-toc-recenter}
@kbd{C-c (} @code{reftex-label}
@kbd{C-c )} @code{reftex-reference}
@kbd{C-c [} @code{reftex-citation}
@ -2840,6 +2864,11 @@ the new extension must also be known to AUCTeX via the variable
@section Optimizations
@cindex Optimizations
@b{Note added 2002. Computers have gotten a lot faster, so most of the
optimizations discussed below will not be necessary on new machines. I
am leaving this stuff in the manual for people who want to write thick
books, where some of it still might be useful.}
Implementing the principle of least surprises, the default settings of
@b{Ref@TeX{}} ensure a safe ride for beginners and casual users. However,
when using @b{Ref@TeX{}} for a large project and/or on a small computer,
@ -3397,11 +3426,11 @@ Thanks to the people on the Net who have used @b{Ref@TeX{}} and helped
developing it with their reports. In particular thanks to @i{Fran
Burstall, Alastair Burt, Lars Clausen, Soren Dayton, Stephen Eglen, Karl
Eichwalder, Erik Frik, Erik Frisk, Peter Galbraith, Kai Grossjohann,
Frank Harrell, Stephan Heuel, Alan Ho, Dieter Kraft, Adrian Lanz, Rory
Molinari, Stefan Monnier, Laurent Mugnier, Sudeep Kumar Palat, Daniel
Polani, Alan Shutko, Robin Socha, Richard Stanton, Allan Strand, Jan
Vroonhof, Christoph Wedler, Alan Williams, Roland Winkler, Eli
Zaretskii}.@refill
Frank Harrell, Stephan Heuel, Alan Ho, Lute Kamstra, Dieter Kraft,
Adrian Lanz, Rory Molinari, Stefan Monnier, Laurent Mugnier, Sudeep
Kumar Palat, Daniel Polani, Alan Shutko, Robin Socha, Richard Stanton,
Allan Strand, Jan Vroonhof, Christoph Wedler, Alan Williams, Roland
Winkler, Eli Zaretskii}.@refill
The @code{view-crossref} feature was inspired by @i{Peter Galbraith's}
@file{bib-cite.el}.@refill
@ -3543,6 +3572,13 @@ document. With prefix arg, replace only word-delimited matches. No
active TAGS table is required.@refill
@end deffn
@deffn Command reftex-goto-label
Prompt for a label (with completion) and jump to the location of this
label. Optional prefix argument @var{other-window} goes to the label in
another window.
@end deffn
@deffn Command reftex-change-label
Query replace @var{from} with @var{to} in all @code{\label} and
@code{\ref} commands. Works on the entire multifile document. No
@ -3638,6 +3674,23 @@ chapters are level 1, sections level 2 etc. This variable can be
changed from within the @file{*toc*} buffer with the @kbd{t} key.@refill
@end defopt
@defopt reftex-part-resets-chapter
Non-@code{nil} means, @code{\part} is like any other sectioning command.
This means, part numbers will be included in the numbering of chapters, and
chapter counters will be reset for each part.
When @code{nil} (the default), parts are special, do not reset the
chapter counter and also do not show up in chapter numbers.
@end defopt
@defopt reftex-auto-recenter-toc
Non-@code{nil} means, initially turn automatic recentering of toc on.
When active, the @file{*TOC*} buffer will always show the section you
are currently working in. Recentering happens whenever Emacs is idle
for more than `reftex-idle-time' seconds.
This feature can be turned on and off from the menu
(Ref->Options).
@end defopt
@defopt reftex-toc-split-windows-horizontally
Non-@code{nil} means, create TOC window by splitting window
horizontally. The default is to split vertically.
@ -4512,17 +4565,18 @@ integer indicating which subgroup of the match should be highlighted.
@defopt reftex-auto-view-crossref
Non-@code{nil} means, initially turn automatic viewing of crossref info
on. Automatic viewing of crossref info normally uses the echo area.
Whenever point is on the argument of a @code{\ref} or @code{\cite}
macro, and no other message is being displayed, the echo area will
display information about that cross reference. You can also set the
variable to the symbol @code{window}. In this case a small temporary
window is used for the display. This feature can be turned on and of
from the menu (Ref->Options).@refill
Whenever point is idle for more than @code{reftex-idle-time} seconds on
the argument of a @code{\ref} or @code{\cite} macro, and no other
message is being displayed, the echo area will display information about
that cross reference. You can also set the variable to the symbol
@code{window}. In this case a small temporary window is used for the
display. This feature can be turned on and off from the menu
(Ref->Options).@refill
@end defopt
@defopt reftex-idle-time
Time (secs) Emacs has to be idle before automatic crossref display is
done.@refill
Time (secs) Emacs has to be idle before automatic crossref display
or toc recentering is done.@refill
@end defopt
@defopt reftex-cite-view-format
@ -5392,7 +5446,6 @@ Files in @code{reftex-default-bibliography} will be searched along
@item
Reading a parse file now checks consistency.
@end itemize
@end ignore
@noindent @b{Version 4.00}
@itemize @bullet
@item
@ -5494,6 +5547,7 @@ Small bug fixes.
@item
Improved interaction with Emacs LaTeX mode.
@end itemize
@end ignore
@noindent @b{Version 4.17}
@itemize @bullet
@item
@ -5521,6 +5575,31 @@ Small bug fixes.
@item
@code{reftex-citation} uses the word before the cursor as a default
search string.
@item
Simplified several regular expressions for speed.
@item
Better support for chapterbib.
@end itemize
@noindent @b{Version 4.19}
@itemize @bullet
@item
New command `reftex-toc-recenter' (@kbd{C-c -}) which shows the current
section in the TOC buffer without selecting the TOC window.
@item
Recentering happens automatically in idle time when the option
@code{reftex-auto-recenter-toc} is turned on.
@item
Fixed several bugs related to automatic cursor positioning in the TOC
buffer.
@item
The highlight in the TOC buffer stays when the focus moves to a
different window.
@item
New command `reftex-goto-label'.
@item
Part numbers are no longer included in chapter numbers, and a new
part does not reset the chapter counter. See new option
@code{reftex-part-resets-chapter}.
@end itemize
@node Index, , , Top