annotate yatex19.el @ 77:1b172d26b55e

Fix auto-fill movement on Emacs21. Fix YaTeX:ref. Support jump/change on AMS-LaTeX's parentheses.
author yuuji
date Thu, 01 May 2003 13:38:27 +0000
parents f41b01fef5d6
children 0734be649cb8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
1 ;;; -*- Emacs-Lisp -*-
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
2 ;;; YaTeX facilities for Emacs 19
77
1b172d26b55e Fix auto-fill movement on Emacs21.
yuuji
parents: 73
diff changeset
3 ;;; (c )1994-2003 by HIROSE Yuuji.[yuuji@yatex.org]
1b172d26b55e Fix auto-fill movement on Emacs21.
yuuji
parents: 73
diff changeset
4 ;;; Last modified Fri Feb 21 01:35:19 2003 on firestorm
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
5 ;;; $Id$
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
6
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
7 ;(require 'yatex)
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
8
73
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
9 (and (boundp 'YaTeX-use-hilit19)
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
10 YaTeX-use-hilit19
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
11 (require 'hilit19))
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
12
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
13 (defvar YaTeX-use-highlighting (or YaTeX-use-font-lock YaTeX-use-hilit19)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
14 "*Use highlighting buffer or not.")
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
15 (defvar YaTeX-background-mode
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
16 (cond
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
17 ((boundp 'hilit-background-mode) hilit-background-mode)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
18 ((boundp 'frame-background-mode) frame-background-mode)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
19 ((fboundp 'get-frame-background-mode)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
20 (get-frame-background-mode (selected-frame)))
77
1b172d26b55e Fix auto-fill movement on Emacs21.
yuuji
parents: 73
diff changeset
21 ((face-background 'default)
1b172d26b55e Fix auto-fill movement on Emacs21.
yuuji
parents: 73
diff changeset
22 (if (> (+ 32768 32768 32768)
1b172d26b55e Fix auto-fill movement on Emacs21.
yuuji
parents: 73
diff changeset
23 (apply '+
1b172d26b55e Fix auto-fill movement on Emacs21.
yuuji
parents: 73
diff changeset
24 (funcall (if (fboundp 'color-rgb-components)
1b172d26b55e Fix auto-fill movement on Emacs21.
yuuji
parents: 73
diff changeset
25 'color-rgb-components
1b172d26b55e Fix auto-fill movement on Emacs21.
yuuji
parents: 73
diff changeset
26 'x-color-values)
1b172d26b55e Fix auto-fill movement on Emacs21.
yuuji
parents: 73
diff changeset
27 (face-background 'default))))
1b172d26b55e Fix auto-fill movement on Emacs21.
yuuji
parents: 73
diff changeset
28 'dark
1b172d26b55e Fix auto-fill movement on Emacs21.
yuuji
parents: 73
diff changeset
29 'light))
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
30 (t nil)))
70
44e3a5e1e883 Fix makefile for Windows
yuuji
parents: 69
diff changeset
31
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
32 (defvar YaTeX-mode-menu-map (make-sparse-keymap "YaTeX"))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
33 (defvar YaTeX-mode-menu-map-process (make-sparse-keymap "Process"))
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
34 (define-key YaTeX-mode-map [menu-bar yatex]
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
35 (cons "YaTeX" YaTeX-mode-menu-map))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
36 (YaTeX-define-menu
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
37 'YaTeX-mode-menu-map-process
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
38 (nreverse
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
39 '((buffer "LaTeX" . (lambda () (interactive) (YaTeX-typeset-menu nil ?j)))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
40 (kill "Kill LaTeX" . (lambda () (interactive) (YaTeX-typeset-menu nil ?k)))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
41 (bibtex "BibTeX" . (lambda () (interactive) (YaTeX-typeset-menu nil ?b)))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
42 (mindex "makeindex" . (lambda () (interactive) (YaTeX-typeset-menu nil ?i)))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
43 (preview "Preview" . (lambda () (interactive) (YaTeX-typeset-menu nil ?p)))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
44 (lpr "lpr" . (lambda () (interactive) (YaTeX-typeset-menu nil ?l)))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
45 (lpq "lpq" . (lambda () (interactive) (YaTeX-typeset-menu nil ?q))))))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
46 (defvar YaTeX-mode-menu-map-modes (make-sparse-keymap "Modes"))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
47 (YaTeX-define-menu
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
48 'YaTeX-mode-menu-map-modes
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
49 (delq nil
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
50 (nreverse
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
51 (list
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
52 (if YaTeX-auto-math-mode nil
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
53 (cons 'math (cons "Toggle math-mode"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
54 '(lambda () (interactive)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
55 (YaTeX-switch-mode-menu nil ?t)))))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
56 (cons 'mod (cons "Toggle Modify Mode"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
57 '(lambda () (interactive)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
58 (YaTeX-switch-mode-menu nil ?m))))))))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
59 (defvar YaTeX-mode-menu-map-percent (make-sparse-keymap "percent"))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
60 (YaTeX-define-menu
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
61 'YaTeX-mode-menu-map-percent
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
62 (nreverse
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
63 '((! "Change LaTeX typesetter(%#!)"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
64 . (lambda () (interactive) (YaTeX-%-menu nil nil ?!)))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
65 (begend "Set %#BEGIN-%#END on region"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
66 . (lambda () (interactive) (YaTeX-%-menu nil nil ?b)))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
67 (lpr "Change LPR format"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
68 . (lambda () (interactive) (YaTeX-%-menu nil nil ?l))))))
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
69
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
70 (defvar YaTeX-mode-menu-map-jump (make-sparse-keymap "jump"))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
71 (YaTeX-define-menu
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
72 'YaTeX-mode-menu-map-jump
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
73 (nreverse
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
74 '((corres "Goto corersponding position" . YaTeX-goto-corresponding-*)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
75 (main "Visit main source"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
76 . (lambda () (interactive) (YaTeX-visit-main)))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
77 (main-other "Visit main source other window"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
78 . YaTeX-visit-main-other-window))))
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
79
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
80 (defvar YaTeX-mode-menu-map-comment (make-sparse-keymap "comment"))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
81 (YaTeX-define-menu
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
82 'YaTeX-mode-menu-map-comment
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
83 (nreverse
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
84 '((comment "Comment region or environment" . YaTeX-comment-region)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
85 (uncomment "Unomment region or environment" . YaTeX-uncomment-region)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
86 (commentp "Comment paragraph" . YaTeX-comment-paragraph)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
87 (uncommentp "Uncomment paragraph" . YaTeX-uncomment-paragraph))))
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
88
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
89 (YaTeX-define-menu
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
90 'YaTeX-mode-menu-map
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
91 (nreverse
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
92 (list
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
93 ;; Change/Kill/Fill -------------------------------------------------------
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
94 (cons (list 'chg "Change") (cons "Change macros" 'YaTeX-change-*))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
95 (cons (list 'kill "Kill") (cons "Kill macros" 'YaTeX-kill-*))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
96 (cons (list 'fill "Fill") (cons "Fill \\item" 'YaTeX-fill-item))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
97 (cons (list 'nl "Newline") (cons "Newline" 'YaTeX-intelligent-newline))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
98 ;; ========================================================================
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
99 (cons (list 'sep1 "---") (cons "---" nil))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
100 ;; Comment/Uncomment ------------------------------------------------------
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
101 (cons (list 'comment "comment") (cons "Comment region or environment"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
102 'YaTeX-comment-region))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
103 (cons (list 'uncomment "uncomment") (cons "Uncomment region or environment"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
104 'YaTeX-uncomment-region))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
105 (cons (list 'commentp "commentp") (cons "Comment paragraph"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
106 'YaTeX-comment-paragraph))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
107 (cons (list 'uncommentp "uncommentp") (cons "Uncomment paragraph"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
108 'YaTeX-uncomment-paragraph))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
109 ;; ========================================================================
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
110 (cons (list 'sep2 "---") (cons "---" nil))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
111 ;; Jump cursor ------------------------------------------------------------
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
112 (cons (list 'jump "jump") (cons "Jump Cursor" YaTeX-mode-menu-map-jump))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
113 ;; Document hierarchy ---------------------------------------------------
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
114 (cons (list 'hier "hier") (cons "Display Document hierarchy"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
115 'YaTeX-display-hierarchy))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
116 ;; What position ----------------------------------------------------------
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
117 (cons (list 'col "column") (cons "What column in tabular"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
118 'YaTeX-what-column))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
119 ;; % menu -----------------------------------------------------------------
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
120 (cons (list 'percent "percent") (cons "Edit %# notation"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
121 YaTeX-mode-menu-map-percent))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
122 ;; Switch modes -----------------------------------------------------------
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
123 (cons (list 'mode "mode") (cons "Switching YaTeX's modes"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
124 YaTeX-mode-menu-map-modes))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
125 ;; ========================================================================
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
126 (cons (list 'sep "---") (cons "---" nil))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
127 ;; Help for LaTeX ---------------------------------------------------------
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
128 (cons (list 'ap "apr") (cons "Apropos on LaTeX commands" 'YaTeX-apropos))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
129 (cons (list 'help "help") (cons "Help on LaTeX commands" 'YaTeX-help))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
130 ;; Menu for Typeset relating processes ------------------------------------
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
131 (cons (list 'process "Process menu")
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
132 (cons "Process" YaTeX-mode-menu-map-process)))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
133 ))
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
134
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
135 ;; Make section-type commands menu -------------------------------------------
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
136 (defvar YaTeX-mode-menu-map-sectionr
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
137 (make-sparse-keymap "Enclose region with section-type macro"))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
138 (defvar YaTeX-mode-menu-map-section (make-sparse-keymap "Section-type macro"))
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
139 (let ((sorted-section
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
140 (sort
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
141 (delq nil
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
142 (mapcar (function (lambda (s)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
143 (if (> (length (car s)) 5)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
144 (car s))))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
145 (append section-table user-section-table)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
146 'string<)))
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
147 (YaTeX-define-menu
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
148 'YaTeX-mode-menu-map-section
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
149 (mapcar
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
150 (function (lambda (secname)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
151 (cons (intern secname)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
152 (cons secname
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
153 (list 'lambda ()
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
154 (list 'interactive)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
155 (list 'YaTeX-make-section
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
156 nil nil nil
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
157 secname))))))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
158 sorted-section))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
159 (YaTeX-define-menu
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
160 'YaTeX-mode-menu-map-sectionr
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
161 (mapcar
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
162 (function (lambda (secname)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
163 (cons (intern secname)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
164 (cons secname
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
165 (list 'lambda ()
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
166 (list 'interactive)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
167 (list 'YaTeX-make-section
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
168 nil
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
169 (list 'region-beginning)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
170 (list 'region-end)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
171 secname))))))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
172 sorted-section)))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
173
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
174 (YaTeX-define-menu
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
175 'YaTeX-mode-menu-map
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
176 (nreverse
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
177 (list
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
178 (cons '(sectionr "Section-type (long name)")
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
179 (cons "Section type" YaTeX-mode-menu-map-section))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
180 (cons '(section "Section-type region (long name)")
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
181 (cons "Section type region (long name)"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
182 YaTeX-mode-menu-map-sectionr)))))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
183
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
184 ;; Make large-type commands menu ---------------------------------------------
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
185 (defvar YaTeX-mode-menu-map-envr (make-sparse-keymap "Environment region"))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
186 (defvar YaTeX-mode-menu-map-env (make-sparse-keymap "Environment"))
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
187
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
188 (let ((sorted-env
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
189 (sort
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
190 (mapcar (function (lambda (s) (car s)))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
191 (append env-table user-env-table))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
192 'string<)))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
193 (YaTeX-define-menu
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
194 'YaTeX-mode-menu-map-env
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
195 (mapcar
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
196 (function (lambda (envname)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
197 (cons (intern envname)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
198 (cons envname
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
199 (list 'lambda ()
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
200 (list 'interactive)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
201 (list 'YaTeX-insert-begin-end
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
202 envname nil))))))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
203 sorted-env))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
204 (YaTeX-define-menu
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
205 'YaTeX-mode-menu-map-envr
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
206 (mapcar
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
207 (function (lambda (envname)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
208 (cons (intern envname)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
209 (cons envname
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
210 (list 'lambda ()
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
211 (list 'interactive)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
212 (list 'YaTeX-insert-begin-end
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
213 envname t))))))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
214 sorted-env)))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
215 (YaTeX-define-menu
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
216 'YaTeX-mode-menu-map
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
217 (nreverse
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
218 (list
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
219 (cons '(envr "Environment")
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
220 (cons "Environment" YaTeX-mode-menu-map-env))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
221 (cons '(env "Environment region")
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
222 (cons "Environment region"
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
223 YaTeX-mode-menu-map-envr)))))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
224
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
225 (and (featurep 'xemacs)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
226 (add-hook 'yatex-mode-hook
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
227 '(lambda ()
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
228 (or (assoc "YaTeX" current-menubar)
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
229 (progn
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
230 (set-buffer-menubar (copy-sequence current-menubar))
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
231 (add-submenu nil YaTeX-mode-menu-map))))))
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
232
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
233 ;; Other key bindings for window-system
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
234 ;(YaTeX-define-key [?\C- ] 'YaTeX-do-completion)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
235 (define-key YaTeX-mode-map [?\M-\C- ] 'YaTeX-mark-environment)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
236
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
237 ;; Highlightening
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
238 ;; メニューに比べてこっちは結構本気でやってます。
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
239 ;; だって文書構造がとっても分かり易いんだもん。
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
240 ;; みんなも hilit19.el を使おう!
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
241 ;; とかいってるうちに hilit19 って obsolete になってしまった…
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
242 ;; …ということで、hilit19 用のパターンを font-lock に変換する関数を
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
243 ;; 作成してなんとか font-lock にも対応(2000年12月)。
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
244 ;; しかし、font-lock は仕様が変わりやすい雰囲気でずっと動き続けるか
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
245 ;; どうかは不明。むしろ進化の止まったhilit19を使い続ける方が安心と
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
246 ;; 言えないこともないが世の流れは読めず……。
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
247 ;;
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
248 ;; さて、まずは対応する {} をピカピカ範囲とするような関数を作る。
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
249 ;; これは hilit-LaTeX.el を参考にした。でも、ちゃんと section 型コマンドの
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
250 ;; 引数を数えて正しい位置までピカピカさせるよ〜ん!
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
251
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
252 (defun YaTeX-19-region-section-type (pattern)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
253 "Return list of starting and end point of section-type commands of PATTERN."
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
254 (if (re-search-forward pattern nil t)
69
807c1e7e68b7 yahtml-escape-chars-region
yuuji
parents: 68
diff changeset
255 (let ((m0 (match-beginning 0)) (e0 (match-end 0)) cmd (argc 1))
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
256 (setq cmd (substring (YaTeX-match-string 0) 1)
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
257 argc (or (car (cdr (YaTeX-lookup-table cmd 'section))) argc))
69
807c1e7e68b7 yahtml-escape-chars-region
yuuji
parents: 68
diff changeset
258 (if (= argc 0) (cons m0 (point)) ;引数個数0ならマッチした領域
807c1e7e68b7 yahtml-escape-chars-region
yuuji
parents: 68
diff changeset
259 (skip-chars-forward " \n\t*")
807c1e7e68b7 yahtml-escape-chars-region
yuuji
parents: 68
diff changeset
260 (while (looking-at "\\[") (forward-list 1)) ;optionならスキップ
807c1e7e68b7 yahtml-escape-chars-region
yuuji
parents: 68
diff changeset
261 (skip-chars-forward " \n\t")
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
262 (prog1
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
263 (if (looking-at "{") ;{}が始まるならちゃんとしたsection型
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
264 (cons m0
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
265 (condition-case err
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
266 (progn
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
267 ;;(skip-chars-backward "^{") (forward-char -2)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
268 (while (> argc 0)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
269 (skip-chars-forward "^{")
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
270 (forward-list 1)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
271 (setq argc (1- argc)))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
272 (point))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
273 (error m0)))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
274 ;{}でないならたぶん \verb 環境などにあるダミー
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
275 (cons m0 e0))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
276 ;;move to re-search end not to make font-lock confused
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
277 (goto-char e0))))))
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
278
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
279 (defun YaTeX-19-region-large-type (pattern)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
280 "Return list of large-type contents.
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
281 Assumes PATTERN begins with `{'."
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
282 (if (re-search-forward pattern nil t)
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
283 (let ((m0 (match-beginning 0)) (e0 (match-end 0))p)
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
284 (goto-char m0)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
285 (skip-chars-forward "^ \t\n")
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
286 (skip-chars-forward " \t\n")
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
287 (prog1
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
288 (cons (setq p (point))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
289 (condition-case err
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
290 (progn (goto-char m0) (forward-list 1) (1- (point)))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
291 (error (1+ p))))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
292 ;;move to re-search end not to make font-lock confused
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
293 (goto-char e0)))))
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
294
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
295 ;; 些細なことだが % の前の文字もピカリとさせてしまうようで… >hilit19
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
296 ;; ↓この関数は下の hilit-set-mode-patterns の "[^\\]\\(%\\).*$" に
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
297 ;; 依存している
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
298 (defun YaTeX-19-region-comment (pattern)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
299 "Return list of comment start and end point."
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
300 (if (re-search-forward pattern nil t)
56
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
301 (cons (match-beginning 2) (match-end 0))))
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
302
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
303 ;;(make-face 'tt)
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
304 ;;(set-face-font 'tt "-schumacher-clean-medium-r-normal--*-*-*-*-*-*-*-*")
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
305 ;;(hilit-translate 'tt "white")
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
306
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
307 (defvar YaTeX-hilit-patterns-alist
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
308 '(
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
309 ;; comments
56
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
310 (YaTeX-19-region-comment "\\([^\\]\\|^\\)\\(%\\).*$" comment)
58
3a7c0c2bf16d Official support for AMS-LaTeX, HTML, xdvi -remote, Netscape
yuuji
parents: 57
diff changeset
311
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
312 (YaTeX-19-region-section-type "\\\\footnote\\(mark\\|text\\)?\\>" keyword)
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
313 ("\\\\[a-z]+box" 0 keyword)
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
314 (YaTeX-19-region-section-type "\\\\\\(v\\|h\\)space\\>" keyword)
58
3a7c0c2bf16d Official support for AMS-LaTeX, HTML, xdvi -remote, Netscape
yuuji
parents: 57
diff changeset
315
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
316 ;; (re-)define new commands/environments/counters
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
317 (YaTeX-19-region-section-type
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
318 "\\\\\\(re\\)?new\\(environment\\|command\\|theorem\\|length\\|counter\\)\\>"
60
9e08ed569d80 yahtml: change keystroke of calling browser to [prefix] t p
yuuji
parents: 59
diff changeset
319 defun)
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
320 (YaTeX-19-region-section-type
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
321 "\\\\textbf\\>" bold)
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
322
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
323 ;; various declarations/definitions
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
324 (YaTeX-19-region-section-type
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
325 "\\\\\\(set\\|setto\\|addto\\)\\(length\\|width\\|counter\\)\\>"
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
326 define)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
327 (YaTeX-19-region-section-type
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
328 "\\\\\\(title\\|author\\|date\\|thanks\\)\\>" define)
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
329
59
48ac97a6b6ce Call drawing tools
yuuji
parents: 58
diff changeset
330 ("\\\\document\\(style\\|class\\)\\(\\[.*\\]\\)?{" "}" decl)
73
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
331
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
332 ("\\\\\\(begin\\|end\\|nofiles\\|includeonly\\|usepackage\\(\\[.*\\]\\)?\\){" "}" decl)
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
333 ("\\\\\\(raggedright\\|makeindex\\|makeglossary\\|maketitle\\)\\b" 0 decl)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
334 ("\\\\\\(pagestyle\\|thispagestyle\\|pagenumbering\\){" "}" decl)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
335 ("\\\\\\(normalsize\\|small\\|footnotesize\\|scriptsize\\|tiny\\|large\\|Large\\|LARGE\\|huge\\|Huge\\)\\b" 0 decl)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
336 ("\\\\\\(appendix\\|tableofcontents\\|listoffigures\\|listoftables\\)\\b"
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
337 0 decl)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
338 ("\\\\\\(bf\\|em\\|it\\|rm\\|sf\\|sl\\|ss\\|tt\\)\\b" 0 decl)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
339
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
340 ;; label-like things
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
341 ;;this should be customized by YaTeX-item-regexp
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
342 ("\\\\\\(sub\\)*item\\b\\(\\[[^]]*\\]\\)?" 0 label)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
343 (YaTeX-19-region-section-type
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
344 "\\\\caption\\(\\[[^]]*\\]\\)?\\>" label)
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
345
61
b9f753846b6b Bug fix release
yuuji
parents: 60
diff changeset
346 ;; things that do some sort of cross-reference
b9f753846b6b Bug fix release
yuuji
parents: 60
diff changeset
347 (YaTeX-19-region-section-type
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
348 "\\\\\\(\\(no\\)?cite\\|\\(page\\)?ref\\|label\\|index\\|glossary\\)\\>"
61
b9f753846b6b Bug fix release
yuuji
parents: 60
diff changeset
349 crossref)
b9f753846b6b Bug fix release
yuuji
parents: 60
diff changeset
350
b9f753846b6b Bug fix release
yuuji
parents: 60
diff changeset
351 ;; things that bring in external files
b9f753846b6b Bug fix release
yuuji
parents: 60
diff changeset
352 ("\\\\\\(include\\|input\\|bibliography\\){" "}" include)
b9f753846b6b Bug fix release
yuuji
parents: 60
diff changeset
353
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
354 ;; formulas
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
355 ("[^\\]\\\\(" "\\\\)" formula) ; \( \)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
356 ("[^\\]\\\\\\[" "\\\\\\]" formula) ; \[ \]
68
0eb6997bee16 More adjustment for Emacs20 and XEmacs
yuuji
parents: 64
diff changeset
357 ("\\\\begin{\\(eqn\\|equation\\|x?x?align\\|split\\|multline\\|gather\\)"
0eb6997bee16 More adjustment for Emacs20 and XEmacs
yuuji
parents: 64
diff changeset
358 "\\\\end{\\(eqn\\|equation\\|x?x?align\\|split\\|multline\\|gather\\).*}"
58
3a7c0c2bf16d Official support for AMS-LaTeX, HTML, xdvi -remote, Netscape
yuuji
parents: 57
diff changeset
359 formula)
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
360 ("\\([^\\$]\\|^\\)\\($\\($[^$]*\\$\\|[^$]*\\)\\$\\)" 2 formula); '$...$' or '$$...$$'
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
361
61
b9f753846b6b Bug fix release
yuuji
parents: 60
diff changeset
362 ;; "wysiwyg" emphasis -- these don't work on nested expressions
56
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
363 (YaTeX-19-region-large-type "{\\\\\\(em\\|it\\|sl\\)" italic)
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
364 (YaTeX-19-region-large-type "{\\\\bf" bold)
56
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
365 ;;;(YaTeX-19-region-large-type "{\\\\tt" tt)
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
366 ;;;("\\\\begin{verbatim" "\\\\end{verbatim" tt)
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
367
61
b9f753846b6b Bug fix release
yuuji
parents: 60
diff changeset
368 ("``" "''" string))
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
369 "*Hiliting pattern alist for LaTeX text.")
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
370
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
371 ;;(defvar YaTeX-hilit-pattern-adjustment-default nil)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
372 ;; ↑いらなくなった。
51
b0371b6ed799 Created `ChangeLog'.
yuuji
parents: 49
diff changeset
373 (defvar YaTeX-hilit-pattern-adjustment-private nil
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
374 "*Adjustment hilit-pattern-alist for default yatex-mode's pattern.")
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
375 (defvar YaTeX-hilit-sectioning-face
57
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
376 '(yellow/dodgerblue yellow/slateblue)
51
b0371b6ed799 Created `ChangeLog'.
yuuji
parents: 49
diff changeset
377 "*Hilightening face for sectioning unit. '(FaceForLight FaceForDark)")
57
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
378 (defvar YaTeX-hilit-sectioning-attenuation-rate
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
379 '(15 40)
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
380 "*Maximum attenuation rate of sectioning face. '(ForeRate BackRate)
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
381 Each rate specifies how much portion of RGB value should be attenuated
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
382 towards to lowest sectioning unit. Numbers should be written in percentage.")
52
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
383 (defvar YaTeX-sectioning-patterns-alist nil
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
384 "Hilightening patterns for sectioning units.")
47
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
385 (defvar YaTeX-hilit-singlecmd-face
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
386 '("slateblue2" . "aquamarine")
51
b0371b6ed799 Created `ChangeLog'.
yuuji
parents: 49
diff changeset
387 "*Hilightening face for maketitle type. '(FaceForLight FaceForDark)")
52
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
388
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
389 ;;; セクションコマンドを、構造レベルの高さに応じて色の濃度を変える
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
390 ;;; 背景が黒でないと何が嬉しいのか分からないに違いない.
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
391 ;;; もしかして白地の時は構造レベルに応じて色を明るくしたほうが良いのか?
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
392 ;;; ...どうやらそうでもないらしい。これでいいみたい(2000/12)。
60
9e08ed569d80 yahtml: change keystroke of calling browser to [prefix] t p
yuuji
parents: 59
diff changeset
393 ;(if (fboundp 'win32-color-values)
9e08ed569d80 yahtml: change keystroke of calling browser to [prefix] t p
yuuji
parents: 59
diff changeset
394 ; (fset 'x-color-values 'win32-color-values))
9e08ed569d80 yahtml: change keystroke of calling browser to [prefix] t p
yuuji
parents: 59
diff changeset
395
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
396 (defun YaTeX-19-create-face (sym fgcolor &optional bgcolor)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
397 "Create face named SYM with face of FGCOLOR/BGCOLOR."
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
398 (cond
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
399 ((and YaTeX-use-font-lock (fboundp 'defface))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
400 (custom-declare-face
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
401 sym
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
402 (list
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
403 (list (list
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
404 '(class color)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
405 ;(list 'background YaTeX-background-mode)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
406 )
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
407 (delq nil
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
408 (append
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
409 (list ':foreground fgcolor)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
410 (if bgcolor
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
411 (list ':background bgcolor))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
412 ))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
413 )
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
414 (list t (list ':bold t ':underline t))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
415 )
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
416 (format "Font lock face for %s" sym)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
417 ':group 'font-lock-faces)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
418 (set sym sym)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
419 sym)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
420 ((and YaTeX-use-hilit19 (and (fboundp 'hilit-translate)))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
421 (let ((face (intern (concat fgcolor "/" bgcolor))))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
422 (hilit-translate sym face)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
423 face))))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
424
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
425 (cond
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
426 (YaTeX-use-highlighting
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
427 (cond
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
428 (window-system
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
429 (let*((sectface
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
430 (car (if (eq YaTeX-background-mode 'dark)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
431 (cdr YaTeX-hilit-sectioning-face)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
432 YaTeX-hilit-sectioning-face)))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
433 (sectcol (symbol-name sectface))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
434 (fl YaTeX-use-font-lock)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
435 (form (if fl "#%02x%02x%02x" "hex-%02x%02x%02x"))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
436 sect-pat-alist)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
437 (if (string-match "/" sectcol)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
438 (let ((fmin (nth 0 YaTeX-hilit-sectioning-attenuation-rate))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
439 (bmin (nth 1 YaTeX-hilit-sectioning-attenuation-rate))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
440 colorvalue fR fG fB bR bG bB pat fg bg level from face list lm)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
441 (require 'yatexsec)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
442 (setq fg (substring sectcol 0 (string-match "/" sectcol))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
443 bg (substring sectcol (1+ (string-match "/" sectcol)))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
444 colorvalue (x-color-values fg)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
445 fR (/ (nth 0 colorvalue) 256)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
446 fG (/ (nth 1 colorvalue) 256)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
447 fB (/ (nth 2 colorvalue) 256)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
448 colorvalue (x-color-values bg)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
449 bR (/ (nth 0 colorvalue) 256)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
450 bG (/ (nth 1 colorvalue) 256)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
451 bB (/ (nth 2 colorvalue) 256)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
452 lm YaTeX-sectioning-max-level
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
453 list YaTeX-sectioning-level)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
454 (while list
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
455 (setq pat (concat YaTeX-ec-regexp (car (car list))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
456 ;;"\\*?\\(\\[[^]]*\\]\\)?\\>" ;改行はさむと駄目
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
457 "\\>"
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
458 )
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
459 level (cdr (car list))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
460 fg (format form
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
461 (- fR (/ (* level fR fmin) lm 100))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
462 (- fG (/ (* level fG fmin) lm 100))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
463 (- fB (/ (* level fB fmin) lm 100)))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
464 bg (format form
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
465 (- bR (/ (* level bR bmin) lm 100))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
466 (- bG (/ (* level bG bmin) lm 100))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
467 (- bB (/ (* level bB bmin) lm 100)))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
468 from (intern (format "YaTeX-sectioning-%d" level))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
469 ;;face (intern (concat fg "/" bg))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
470 )
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
471 (setq face (YaTeX-19-create-face from fg bg))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
472 (setq sect-pat-alist
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
473 (cons;;(list pat "}" face)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
474 (list 'YaTeX-19-region-section-type pat face)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
475 sect-pat-alist))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
476 (setq list (cdr list)))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
477 (setq YaTeX-sectioning-patterns-alist sect-pat-alist)))))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
478 (t ;not window-system
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
479 (setq YaTeX-sectioning-patterns-alist
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
480 (list
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
481 (list
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
482 (concat YaTeX-ec-regexp
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
483 "\\(\\(sub\\)*\\(section\\|paragraph\\)\\|chapter"
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
484 "\\|part\\){[^}]*}")
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
485 0
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
486 'define)))))))
52
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
487
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
488 ;; ローカルなマクロを読み込んだ後 redraw すると
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
489 ;; ローカルマクロを keyword として光らせる(keywordじゃまずいかな…)。
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
490 (defvar hilit-patterns-alist nil) ;for absence of hilit19
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
491
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
492 (defun YaTeX-19-collect-macros ()
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
493 (cond
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
494 (YaTeX-use-highlighting
47
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
495 (let ((get-face
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
496 (function
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
497 (lambda (table)
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
498 (cond
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
499 ((eq YaTeX-background-mode 'light) (car table))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
500 ((eq YaTeX-background-mode 'dark) (cdr table))
73
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
501 ;; Default case equals to 'light mode...is it OK?
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
502 (t (car table))))))
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
503 sect single pattern-alist)
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
504 (YaTeX-19-create-face ;;hilit-translate
52
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
505 ;;sectioning (funcall get-face YaTeX-hilit-sectioning-face)
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
506 'macro (funcall get-face YaTeX-hilit-singlecmd-face))
57
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
507 (if (setq sect (append user-section-table tmp-section-table))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
508 (setq sect (concat "\\\\\\("
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
509 (mapconcat
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
510 (function
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
511 (lambda (s) (regexp-quote (car s))))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
512 sect
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
513 "\\|")
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
514 "\\)\\>")))
57
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
515 (if (setq single (append user-singlecmd-table tmp-singlecmd-table))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
516 (setq single (concat "\\\\\\("
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
517 (mapconcat
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
518 (function (lambda (s) (regexp-quote (car s))))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
519 single
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
520 "\\|")
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
521 "\\)\\b")))
73
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
522 (cons 'yatex-mode
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
523 (append
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
524 (list nil)
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
525 YaTeX-sectioning-patterns-alist
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
526 YaTeX-hilit-pattern-adjustment-private
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
527 ;;YaTeX-hilit-pattern-adjustment-default
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
528 YaTeX-hilit-patterns-alist
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
529 (delq nil
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
530 (list
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
531 (if sect (list
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
532 'YaTeX-19-region-section-type
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
533 sect
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
534 'keyword))
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
535 (if single (list single 0 'macro))))))))))
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
536 ;;(YaTeX-19-collect-macros) ;causes an error
73
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
537 (defun YaTeX-hilit-setup-alist ()
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
538 (cond
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
539 ((boundp 'hilit-patterns-alist)
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
540 (setq hilit-patterns-alist
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
541 (delq (assq 'yatex-mode hilit-patterns-alist) hilit-patterns-alist))
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
542 (if YaTeX-use-hilit19
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
543 (setq hilit-patterns-alist
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
544 (cons (YaTeX-19-collect-macros) hilit-patterns-alist))))))
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
545
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
546 (defun YaTeX-hilit-recenter (arg)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
547 "Collect current local macro and hilit-recenter."
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
548 (interactive "P")
73
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
549 (YaTeX-hilit-setup-alist)
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
550 (if (fboundp 'font-lock-mode) (font-lock-mode -1))
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
551 (hilit-recenter arg))
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
552
73
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
553 (let ((k (append (where-is-internal 'hilit-recenter)
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
554 (where-is-internal 'recenter))))
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
555 (while k
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
556 (define-key YaTeX-mode-map (car k) 'YaTeX-19-recenter)
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
557 (setq k (cdr k))))
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
558
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
559 (defun YaTeX-19-recenter (&optional arg)
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
560 (interactive "P")
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
561 (if YaTeX-use-hilit19
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
562 (YaTeX-hilit-recenter arg)
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
563 (YaTeX-font-lock-recenter arg)))
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
564
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
565 (defun YaTeX-font-lock-recenter (&optional arg)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
566 (interactive "P")
73
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
567 (cond
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
568 ((and (boundp 'hilit-patterns-alist)
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
569 (assq 'yatex-mode hilit-patterns-alist))
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
570 (if (fboundp 'hilit-unhighlight-region)
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
571 (hilit-unhighlight-region (point-min) (point-max)))
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
572 (setq hilit-patterns-alist ;ensure to remove
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
573 (delq (assq 'yatex-mode hilit-patterns-alist)
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
574 hilit-patterns-alist))))
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
575 (setq YaTeX-font-lock-keywords
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
576 (YaTeX-convert-pattern-hilit2fontlock
73
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
577 (cdr (YaTeX-19-collect-macros)))
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
578 font-lock-keywords nil)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
579 ;(save-excursion
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
580 ; (font-lock-fontify-region (window-start) (window-end)))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
581 (font-lock-mode -1) ;is stupid, but sure.
73
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
582 (font-lock-mode 1)
f41b01fef5d6 Stable version(hope to be)
yuuji
parents: 72
diff changeset
583 (recenter arg))
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
584
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
585 (defvar YaTeX-font-lock-keywords nil
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
586 "Pattern-face alist of yahtml-mode for font-lock")
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
587
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
588 (defun YaTeX-font-lock-set-default-keywords ()
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
589 (put 'yatex-mode 'font-lock-defaults
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
590 (list 'YaTeX-font-lock-keywords nil nil))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
591 (setq YaTeX-font-lock-keywords
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
592 (YaTeX-convert-pattern-hilit2fontlock
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
593 (cons nil
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
594 (append YaTeX-sectioning-patterns-alist
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
595 YaTeX-hilit-pattern-adjustment-private
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
596 YaTeX-hilit-patterns-alist)))))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
597
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
598 (if YaTeX-use-font-lock
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
599 (progn
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
600 (if (and (boundp 'hilit-mode-enable-list) hilit-mode-enable-list)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
601 ;;for those who use both hilit19 and font-lock
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
602 (if (eq (car hilit-mode-enable-list) 'not)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
603 (or (member 'yatex-mode hilit-mode-enable-list)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
604 (nconc hilit-mode-enable-list (list 'yatex-mode)))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
605 (setq hilit-mode-enable-list
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
606 (delq 'yatex-mode hilit-mode-enable-list))))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
607 (YaTeX-font-lock-set-default-keywords)))
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
608
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
609 (defun YaTeX-switch-to-new-window ()
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
610 (let ((c 0) (i 1) (free (make-string win:max-configs ? )))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
611 (while (< i win:max-configs)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
612 (or (aref win:configs i) (aset free i (+ i win:base-key)))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
613 (setq i (1+ i)))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
614 (while (not (string-match (char-to-string c) free))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
615 (message "Which window to create? [%s]: " free)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
616 (setq c (read-char)))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
617 (message "Creating window [%c]" c)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
618 (set-buffer (get-buffer-create "*scratch*"))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
619 (win:switch-window (- c win:base-key))))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
620
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
621 (defun YaTeX-visit-main-other-frame ()
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
622 "Visit main file in other frame.
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
623 WARNING, This code is not perfect."
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
624 (interactive)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
625 (if (YaTeX-main-file-p) (message "I think this is main LaTeX source.")
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
626 (let (parent)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
627 (save-excursion (YaTeX-visit-main t) (setq parent (current-buffer)))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
628 (cond
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
629 ((get-buffer-window parent t)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
630 (goto-buffer-window parent))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
631 ((and (featurep 'windows) win:use-frame)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
632 (YaTeX-switch-to-new-window)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
633 (switch-to-buffer parent))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
634 (t (switch-to-buffer-other-frame (buffer-name parent)))))))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
635
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
636 (defun YaTeX-goto-corresponding-*-other-frame (arg)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
637 "Go to corresponding object in other frame."
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
638 (interactive "P")
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
639 (let (b p)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
640 (save-window-excursion
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
641 (save-excursion
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
642 (YaTeX-goto-corresponding-* arg)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
643 (setq b (current-buffer) p (point))))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
644 (cond
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
645 ((get-buffer-window b t)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
646 (goto-buffer-window b)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
647 (goto-char p))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
648 ((and (featurep 'windows) win:use-frame)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
649 (YaTeX-switch-to-new-window)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
650 (switch-to-buffer b)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
651 (goto-char p))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
652 (t (switch-to-buffer-other-frame (buffer-name b))
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
653 (goto-char p)))))
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
654
49
eb0512bfcb7f Abolish user-article table.
yuuji
parents: 47
diff changeset
655 ;;; reverseVideo にして hilit-background-mode を 'dark
eb0512bfcb7f Abolish user-article table.
yuuji
parents: 47
diff changeset
656 ;;; にしている人は数式などが暗くなりすぎて見づらいかもしれない。
eb0512bfcb7f Abolish user-article table.
yuuji
parents: 47
diff changeset
657 ;;; 次のコードを hilit19 をロードしている場所の直後に置くとちょっ
eb0512bfcb7f Abolish user-article table.
yuuji
parents: 47
diff changeset
658 ;;; とはまし。
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
659 ;;; (if (eq hilit-background-mode 'dark)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
660 ;;; (hilit-translate
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
661 ;;; string 'mediumspringgreen
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
662 ;;; formula 'khaki
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
663 ;;; label 'yellow-underlined))
57
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
664 (and YaTeX-emacs-19
64
36a48185b95a Changes are listed in yatex.new.
yuuji
parents: 61
diff changeset
665 (not (featurep 'xemacs))
58
3a7c0c2bf16d Official support for AMS-LaTeX, HTML, xdvi -remote, Netscape
yuuji
parents: 57
diff changeset
666 (boundp 'byte-compile-current-file)
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
667 byte-compile-current-file
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
668 (progn
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
669 (if YaTeX-emacs-20 (require 'font-lock))
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
670 (if (and (boundp 'window-system) window-system)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
671 (require 'hilit19)
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
672 (error "Byte compile this file on window system! Not `-nw'!"))))
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
673
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
674 (provide 'yatex19)
72
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
675
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
676
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
677 ; Local variables:
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
678 ; fill-prefix: ";;; "
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
679 ; paragraph-start: "^$\\| \\|;;;$"
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
680 ; paragraph-separate: "^$\\| \\|;;;$"
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
681 ; buffer-file-coding-system: sjis
0aaebd07dad0 Support font-lock on XEmacs-21, Emacs-20, Emacs-21.
yuuji
parents: 70
diff changeset
682 ; End:

yatex.org