view lispref/two.el @ 47587:7e861822d947

(gamegrid-face): new variable to emulate a buffer-local default face. (gamegrid-xbm): new variable; XBM image as a replacement for `gamegrid-xpm' on Emacsen compiled without XPM-support. (gamegrid-colorize-glyph): Ported XEmacs-code for the generation of images to Emacs. (gamegrid-match-spec): Call `gamegrid-make-image-from-vector' to convert XEmacs-type image descriptors. (gamegrid-color-display-p): Removed. (Use `display-colors-p' instead.) (gamegrid-make-image-from-vector): New function. Convert XEmacs' image descriptors. (gamegrid-display-type): Use Emacs' standard `display-.*-p' functions to check for display capabilities. Fix the recognition of image-support in Emacs 21 by this way. (gamegrid-hide-cursor): Removed. (gamegrid-setup-default-font): Ported the code from XEmacs to Emacs: create a new face and assign the variable `gamegrid-face' to it. Make sure that the face is not higher than the smallest image used by the game. (gamegrid-initialize-display): Use `(setq cursor-type nil)' instead of `gamegrid-hide-cursor'. (gamegrid-set-face): If `gamegrid-display-mode' is 'glyph, put an image in the buffer, instead of applying a face. (gamegrid-init-buffer): If `gamegrid-display-mode' is 'glyph, put the face held by `gamegrid-face' in an overlay over the whole buffer to emulate a buffer-local default-face.
author Richard M. Stallman <rms@gnu.org>
date Mon, 23 Sep 2002 16:03:03 +0000
parents 1377d461b09c
children 23a1cea22d13
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"))