Mercurial > hgrepos > hgweb.cgi > yatex
diff yatex19.el @ 46:cd1b63102eed
Support Mule2
author | yuuji |
---|---|
date | Mon, 19 Sep 1994 16:54:19 +0000 |
parents | |
children | d7e7b4654058 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/yatex19.el Mon Sep 19 16:54:19 1994 +0000 @@ -0,0 +1,261 @@ +;;; -*- Emacs-Lisp -*- +;;; YaTeX facilities for Emacs 19 +;;; (c )1994 by HIROSE Yuuji.[yuuji@ae.keio.ac.jp] +;;; Last modified Sat Sep 17 12:53:23 1994 on figaro +;;; $Id$ + +;;; $B$H$j$"$($:(B hilit19 $B$r;H$C$F$$$k;~$K?'$,IU$/$h$&$K$7$F(B +;;; $B%a%K%e!<%P!<$G$4$K$g$4$K$g$G$-$k$h$&$K$7$?$@$1!#(B +;;; $B$$$C$?$$C/$,%a%K%e!<%P!<;H$C$F(BLaTeX$B%=!<%9=q$/$s$@$m$&$+(B? +;;; $B$^$"$$$$$dN}=,N}=,!#8e$m$NJ}$K$A$g$C$H%3%a%s%H$"$j!#(B + +(defun YaTeX-19-define-sub-menu (map vec &rest bindings) + "Define sub-menu-item in MAP at vector VEC as BINDINGS. +BINDINGS is a form with optional length: (symbol title binding). +When you defined menu-bar keymap such like: + (define-key foo-map [menu-bar foo] (make-sparse-keymap \"foo menu\")) +and you want to define sub menu for `foo menu' as followings. + foo -> menu1 (calling function `func1') + menu2 (doing interactive call `(func2 ...)' +Call this function like this: + (YaTeX-19-define-sub-menu foo-map [menu-bar foo] + '(m1 \"Function 1\" func1) + '(m2 \"Function 2\" (lambda () (interactive) (func2 ...)))) +where + `m1' and `m2' are the keymap symbol for sub-menu of `[menu-bar foo]. + `Funtion 1' and `Function 2' are the title strings for sub-menu. +" + (let ((i 0) (vec2 (make-vector (1+ (length vec)) nil))) + (while (< i (length vec)) + (aset vec2 i (aref vec i)) + (setq i (1+ i))) + (setq bindings (reverse bindings)) + (mapcar + (function + (lambda (bind) + (aset vec2 (1- (length vec2)) (car bind)) ;set menu-symbol + (define-key map vec2 + (cons (car (cdr bind)) + (car (cdr (cdr bind))))))) + bindings))) + +;; Menu for Typeset relating processes ---------------------------------------- +(define-key YaTeX-mode-map [menu-bar yatex] + (cons "YaTeX" (make-sparse-keymap "YaTeX"))) +(define-key YaTeX-mode-map [menu-bar yatex process] + (cons "Process" (make-sparse-keymap "Process"))) +(YaTeX-19-define-sub-menu + YaTeX-mode-map [menu-bar yatex process] + '(buffer "LaTeX" (lambda () (interactive) (YaTeX-typeset-menu nil ?j))) + '(kill "Kill LaTeX" (lambda () (interactive) (YaTeX-typeset-menu nil ?k))) + '(bibtex "BibTeX" (lambda () (interactive) (YaTeX-typeset-menu nil ?b))) + '(makeindex "makeindex" (lambda () (interactive) (YaTeX-typeset-menu nil ?i))) + '(preview "Preview" (lambda () (interactive) (YaTeX-typeset-menu nil ?p))) + '(lpr "lpr" (lambda () (interactive) (YaTeX-typeset-menu nil ?l))) + '(lpq "lpq" (lambda () (interactive) (YaTeX-typeset-menu nil ?q))) +) + +;; Help for LaTeX ------------------------------------------------------------ +(YaTeX-19-define-sub-menu + YaTeX-mode-map [menu-bar yatex] + '(sephelp "--") + '(help "Help on LaTeX commands" YaTeX-help) + '(apropos "Apropos on LaTeX commands" YaTeX-apropos)) + +;; Switch modes -------------------------------------------------------------- +(define-key YaTeX-mode-map [menu-bar yatex switch] + (cons "Switching YaTeX's modes" (make-sparse-keymap "modes"))) +(or YaTeX-auto-math-mode + (define-key YaTeX-mode-map [menu-bar yatex switch math] + '("Toggle math mode" . (lambda () (interactive) + (YaTeX-switch-mode-menu nil ?t))))) +(define-key YaTeX-mode-map [menu-bar yatex switch mod] + '("Toggle modify mode" . (lambda () (interactive) + (YaTeX-switch-mode-menu nil ?m)))) + +;; % menu -------------------------------------------------------------------- +(define-key YaTeX-mode-map [menu-bar yatex percent] + (cons "Edit %# notation" (make-sparse-keymap "Edit %# notation"))) +(YaTeX-19-define-sub-menu + YaTeX-mode-map [menu-bar yatex percent] + '(! "Change LaTeX typesetter(%#!)" + (lambda () (interactive) (YaTeX-%-menu nil nil ?!))) + '(begend "Set %#BEGIN-%#END on region" + (lambda () (interactive) (YaTeX-%-menu nil nil ?b))) + '(lpr "Change LPR format" + (lambda () (interactive) (YaTeX-%-menu nil nil ?l)))) + +;; What position ------------------------------------------------------------- +(YaTeX-19-define-sub-menu + YaTeX-mode-map [menu-bar yatex] + '(what "What column in tabular" YaTeX-what-column)) + +;; Jump cursor --------------------------------------------------------------- +(define-key YaTeX-mode-map [menu-bar yatex jump] + (cons "Jump cursor" + (make-sparse-keymap "Jump cursor"))) +(YaTeX-19-define-sub-menu + YaTeX-mode-map [menu-bar yatex jump] + '(corres "Goto corersponding position" YaTeX-goto-corresponding-*) + '(main "Visit main source" (lambda () (interactive) (YaTeX-visit-main))) + '(main-other "Visit main source other window" YaTeX-visit-main-other-window) + ) + +;; =========================================================================== +(define-key YaTeX-mode-map [menu-bar yatex sepcom] + '("---" . nil)) + +;; Comment/Uncomment --------------------------------------------------------- +(YaTeX-19-define-sub-menu + YaTeX-mode-map [menu-bar yatex] + '(comment "Comment region or environment" YaTeX-comment-region) + '(uncomment "Unomment region or environment" YaTeX-uncomment-region) + '(commentp "Comment paragraph" YaTeX-comment-paragraph) + '(uncommentp "Unomment paragraph" YaTeX-uncomment-paragraph) + '(sepcom "--" nil) +) + + +;; =========================================================================== +;; Change/Kill/Fill +(YaTeX-19-define-sub-menu + YaTeX-mode-map [menu-bar yatex] + '(change "Change macros" YaTeX-change-*) + '(kill "Kill macros" YaTeX-kill-*) + '(fillitem "Fill \\item" YaTeX-fill-item) + '(newline "Newline" YaTeX-intelligent-newline) + '(sepchg "--" nil) +) + +;; Menu for completions ------------------------------------------------------ + + +;;;(YaTeX-19-define-sub-menu +;;; YaTeX-mode-map [menu-bar yatex] +;;; '(secr "Section-type command on region" YaTeX-make-section-region) +;;; '(sec "Section-type command" YaTeX-make-section)) + +(define-key YaTeX-mode-map [menu-bar yatex sectionr] + (cons "Section-type region(long name)" + (make-sparse-keymap "Enclose region with section-type macro"))) +(define-key YaTeX-mode-map [menu-bar yatex section] + (cons "Sectio-type(long name)" + (make-sparse-keymap "Section-type macro"))) +(let ((sorted-section + (sort + (delq nil + (mapcar (function (lambda (s) + (if (> (length (car s)) 5) + (car s)))) + (append section-table user-section-table))) + 'string<))) + (apply 'YaTeX-19-define-sub-menu + YaTeX-mode-map [menu-bar yatex section] + (mapcar (function (lambda (secname) + (list (intern secname) secname + (list 'lambda () + (list 'interactive) + (list 'YaTeX-make-section + nil nil nil secname))))) + sorted-section)) + (apply 'YaTeX-19-define-sub-menu + YaTeX-mode-map [menu-bar yatex sectionr] + (mapcar (function (lambda (secname) + (list (intern secname) secname + (list 'lambda () + (list 'interactive) + (list 'YaTeX-make-section + nil + (list 'region-beginning) + (list 'region-end) + secname))))) + sorted-section))) + +(define-key YaTeX-mode-map [menu-bar yatex envr] + (cons "Environment region" (make-sparse-keymap "Environment region"))) +(define-key YaTeX-mode-map [menu-bar yatex env] + (cons "Environment" (make-sparse-keymap "Environment"))) +(let (prev envname) + (mapcar + (function + (lambda (envalist) + (setq envname (car envalist)) + (define-key-after + (lookup-key YaTeX-mode-map [menu-bar yatex env]) + (vector (intern envname)) + (cons envname + (list 'lambda () (list 'interactive) + (list 'YaTeX-insert-begin-end + envname nil))) + prev) + (define-key-after + (lookup-key YaTeX-mode-map [menu-bar yatex envr]) + (vector (intern envname)) + (cons envname + (list 'lambda () (list 'interactive) + (list 'YaTeX-insert-begin-end + envname t))) + prev) + (setq prev (intern envname)))) + (sort (append env-table user-env-table) + '(lambda (x y) (string< (car x) (car y)))))) + +;; Highlightening +;; $B%m!<%+%k$J%^%/%m$rFI$_9~$s$@8e(B redraw $B$9$k$H(B +;; $B%m!<%+%k%^%/%m$r(B keyword $B$H$7$F8w$i$;$k(B(keyword$B$8$c$^$:$$$+$J!D(B)$B!#(B +(defvar YaTeX-hilit-pattern-adjustment + (list + ;;\def $B$,(B define $B$J$s$@$+$i(B new* $B$b(B define $B$G$7$g$&!#(B + '("\\\\\\(re\\)?new\\(environment\\|command\\){" "}" define) + '("\\\\new\\(length\\|theorem\\|counter\\){" "}" define) + ;;$B%;%/%7%g%s%3%^%s%I$,C1$J$k%-!<%o!<%I$C$F$3$H$O$J$$$G$7$g$&!#(B + (list + (concat "\\\\\\(" YaTeX-sectioning-regexp "\\){") "}" + 'sectioning)) + "Adjustment for hilit19's LaTeX hilit pattern.") +(defvar YaTeX-hilit-sectioning-face + 'yellow/cornflowerblue) +(defun YaTeX-19-collect-macro () + (cond + ((and (featurep 'hilit19) (fboundp 'hilit-translate)) + (hilit-translate sectioning YaTeX-hilit-sectioning-face) + (setq hilit-patterns-alist ;Remove at the first time. + (delq 'yatex-mode hilit-patterns-alist) + hilit-patterns-alist + (cons + (cons 'yatex-mode + (append + YaTeX-hilit-pattern-adjustment + (cdr (assq 'latex-mode hilit-patterns-alist)) + (list + (list + (concat "\\\\\\(" + (mapconcat + (function (lambda (s) (regexp-quote (car s)))) + (append user-section-table tmp-section-table) + "\\|") + "\\){") + "}" 'keyword)))) + hilit-patterns-alist))))) +(YaTeX-19-collect-macro) +(defun YaTeX-hilit-recenter (arg) + "Collect current local macro and hilit-recenter." + (interactive "P") + (YaTeX-19-collect-macro) + (hilit-recenter arg)) +(if (fboundp 'hilit-recenter) ;Replace hilit-recenter with + (mapcar (function (lambda (key) ;YaTeX-hilit-recenter in yatex-mode + (define-key YaTeX-mode-map key 'YaTeX-hilit-recenter))) + (where-is-internal 'hilit-recenter))) + +;;; reverseVideo $B$K$7$F(B hilit-background-mode $B$r(B 'dark +;;; $B$K$7$F$$$k?M$O?t<0$J$I$,0E$/$J$j$9$.$F8+$E$i$$$+$b$7$l$J$$!#(B +;;; $B<!$N%3!<%I$r(B hilit19 $B$r%m!<%I$7$F$$$k>l=j$ND>8e$KCV$/$H$A$g$C(B +;;; $B$H$O$^$7!#(B +;;; (if (eq hilit-background-mode 'dark) +;;; (hilit-translate +;;; string 'mediumspringgreen +;;; formula 'khaki +;;; label 'yellow-underlined)) + +(provide 'yatex19)