view lispref/two.el @ 66356:131366a2e19b

* mh-identity.el (mh-assoc-ignore-case): New macro that uses assoc-string (if the function is available) and falls back on assoc-ignore-case if assoc-string is not found. (mh-identity-field-handler): Use mh-assoc-ignore-case since assoc-ignore-case is a obsolete function in Emacs 22. * mh-e.el (mh-folder-buttons-init-flag): New variable that keeps track of whether the tool-bar in mh-folder-mode has been initialized yet. (mh-folder-mode): Initialize the tool-bar for folders the first time we get into mh-letter-mode. * mh-customize.el (mh-buffer-exists-p): New function which tests presence of buffers of a given mode. (mh-tool-bar-define): New functions mh-tool-bar-folder-buttons-init and mh-tool-bar-letter-buttons-init are defined. These functions are used to create the tool-bar from the corresponding customizable variables. * mh-comp.el (mh-letter-buttons-init-flag): New variable that keeps track of whether the tool-bar in mh-letter-mode has been initialized yet. (mh-letter-mode): Initialize the tool-bar for drafts the first time we get into mh-letter-mode.
author Satyaki Das <satyaki@theforce.stanford.edu>
date Sun, 23 Oct 2005 22:34:34 +0000
parents 695cf19ef79e
children 9f4849fee703 375f2633d815
line wrap: on
line source

;; Auxilary functions for preparing a two volume manual.
;; --rjc 30mar92

(defun volume-aux-markup (arg)
  "Append `vol. NUMBER' to page number.
Apply to aux file that you save.
Then insert marked file into other volume's .aux file."
  (interactive "sType volume number, 1 or 2: " )
  (goto-char (point-min))
  (while (search-forward "-pg" nil t)
    (end-of-line 1)
    (delete-backward-char 1 nil)
    (insert ", vol.'tie" arg "}")))

(defun volume-index-markup (arg)
  "Prepend  `NUMBER:' to page number.  Use Roman Numeral.
Apply only to unsorted index file,
Then insert marked file into other volume's unsorted index file.
Then run texindex on that file and save."
  (interactive
   "sType volume number,  roman number I or II: " )
  (goto-char (point-min))
  (while (search-forward "\\entry" nil t)
    (search-forward "}{" (save-excursion (end-of-line) (point)) nil)
    (insert arg ":")))

(defun volume-numbers-toc-markup (arg)
  (interactive
   "sType volume number,  roman number I or II: " )
  (goto-char (point-min))
  (while (search-forward "chapentry" nil t)
    (end-of-line)
    (search-backward "{" nil t)
    (forward-char 1)
    (insert arg ":")))

(defun volume-header-toc-markup ()
  "Insert Volume I and Volume II text into .toc file.
NOTE: this auxilary function is file specific.
This is for the *Elisp Ref Manual*"
  (interactive)
  (goto-char (point-min))
  (insert "\\unnumbchapentry {Volume 1}{}\n\\unnumbchapentry {}{}\n")
  (search-forward "\\unnumbchapentry {Index}")
  (forward-line 1)
  (insert
   "\\unnumbchapentry {}{}\n\\unnumbchapentry {}{}\n\\unnumbchapentry {}{}\n\\unnumbchapentry {}{}\n\\unnumbchapentry {Volume 2}{}\n\\unnumbchapentry {}{}\n"))


;;; In batch mode, you cannot call functions with args; hence this kludge:

(defun volume-aux-markup-1 () (volume-aux-markup "1"))
(defun volume-aux-markup-2 () (volume-aux-markup "2"))

(defun volume-index-markup-I () (volume-index-markup "I"))
(defun volume-index-markup-II () (volume-index-markup "II"))

(defun volume-numbers-toc-markup-I () (volume-numbers-toc-markup "I"))
(defun volume-numbers-toc-markup-II () (volume-numbers-toc-markup "II"))

;;; arch-tag: 848955fe-e9cf-45e7-a2f1-570ef156d6a5