annotate yatex19.el @ 57:18f4939986e6

(j)LaTeX2e supported yatex19.el fixed a lot
author yuuji
date Sat, 02 Dec 1995 18:35:28 +0000
parents a9653fbd1c1c
children 3a7c0c2bf16d
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
52
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
3 ;;; (c )1994-1995 by HIROSE Yuuji.[yuuji@ae.keio.ac.jp]
57
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
4 ;;; Last modified Sun Dec 3 03:29:56 1995 on inspire
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
5 ;;; $Id$
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
6
49
eb0512bfcb7f Abolish user-article table.
yuuji
parents: 47
diff changeset
7 ;;; とりあえず hilit19 を使っている時に色が付くようにして
eb0512bfcb7f Abolish user-article table.
yuuji
parents: 47
diff changeset
8 ;;; メニューバーでごにょごにょできるようにしただけ。
eb0512bfcb7f Abolish user-article table.
yuuji
parents: 47
diff changeset
9 ;;; いったい誰がメニューバー使ってLaTeXソース書くんだろうか?
eb0512bfcb7f Abolish user-article table.
yuuji
parents: 47
diff changeset
10 ;;; まあいいや練習練習。後ろの方にちょっとコメントあり。
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
11 ;;; 真中辺にあるけど、hilit19.el 対応の方は結構本気。
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
12
47
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
13 (require 'yatex)
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
14
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
15 (defun YaTeX-19-define-sub-menu (map vec &rest bindings)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
16 "Define sub-menu-item in MAP at vector VEC as BINDINGS.
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
17 BINDINGS is a form with optional length: (symbol title binding).
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
18 When you defined menu-bar keymap such like:
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
19 (define-key foo-map [menu-bar foo] (make-sparse-keymap \"foo menu\"))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
20 and you want to define sub menu for `foo menu' as followings.
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
21 foo -> menu1 (calling function `func1')
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
22 menu2 (doing interactive call `(func2 ...)'
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
23 Call this function like this:
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
24 (YaTeX-19-define-sub-menu foo-map [menu-bar foo]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
25 '(m1 \"Function 1\" func1)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
26 '(m2 \"Function 2\" (lambda () (interactive) (func2 ...))))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
27 where
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
28 `m1' and `m2' are the keymap symbol for sub-menu of `[menu-bar foo].
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
29 `Funtion 1' and `Function 2' are the title strings for sub-menu.
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
30 "
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
31 (let ((i 0) (vec2 (make-vector (1+ (length vec)) nil)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
32 (while (< i (length vec))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
33 (aset vec2 i (aref vec i))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
34 (setq i (1+ i)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
35 (setq bindings (reverse bindings))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
36 (mapcar
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
37 (function
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
38 (lambda (bind)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
39 (aset vec2 (1- (length vec2)) (car bind)) ;set menu-symbol
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
40 (define-key map vec2
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
41 (cons (car (cdr bind))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
42 (car (cdr (cdr bind)))))))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
43 bindings)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
44
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
45 ;; Menu for Typeset relating processes ----------------------------------------
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
46 (define-key YaTeX-mode-map [menu-bar yatex]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
47 (cons "YaTeX" (make-sparse-keymap "YaTeX")))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
48 (define-key YaTeX-mode-map [menu-bar yatex process]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
49 (cons "Process" (make-sparse-keymap "Process")))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
50 (YaTeX-19-define-sub-menu
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
51 YaTeX-mode-map [menu-bar yatex process]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
52 '(buffer "LaTeX" (lambda () (interactive) (YaTeX-typeset-menu nil ?j)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
53 '(kill "Kill LaTeX" (lambda () (interactive) (YaTeX-typeset-menu nil ?k)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
54 '(bibtex "BibTeX" (lambda () (interactive) (YaTeX-typeset-menu nil ?b)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
55 '(makeindex "makeindex" (lambda () (interactive) (YaTeX-typeset-menu nil ?i)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
56 '(preview "Preview" (lambda () (interactive) (YaTeX-typeset-menu nil ?p)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
57 '(lpr "lpr" (lambda () (interactive) (YaTeX-typeset-menu nil ?l)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
58 '(lpq "lpq" (lambda () (interactive) (YaTeX-typeset-menu nil ?q)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
59 )
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
60
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
61 ;; Help for LaTeX ------------------------------------------------------------
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
62 (YaTeX-19-define-sub-menu
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
63 YaTeX-mode-map [menu-bar yatex]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
64 '(sephelp "--")
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
65 '(help "Help on LaTeX commands" YaTeX-help)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
66 '(apropos "Apropos on LaTeX commands" YaTeX-apropos))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
67
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
68 ;; Switch modes --------------------------------------------------------------
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
69 (define-key YaTeX-mode-map [menu-bar yatex switch]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
70 (cons "Switching YaTeX's modes" (make-sparse-keymap "modes")))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
71 (or YaTeX-auto-math-mode
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
72 (define-key YaTeX-mode-map [menu-bar yatex switch math]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
73 '("Toggle math mode" . (lambda () (interactive)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
74 (YaTeX-switch-mode-menu nil ?t)))))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
75 (define-key YaTeX-mode-map [menu-bar yatex switch mod]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
76 '("Toggle modify mode" . (lambda () (interactive)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
77 (YaTeX-switch-mode-menu nil ?m))))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
78
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
79 ;; % menu --------------------------------------------------------------------
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
80 (define-key YaTeX-mode-map [menu-bar yatex percent]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
81 (cons "Edit %# notation" (make-sparse-keymap "Edit %# notation")))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
82 (YaTeX-19-define-sub-menu
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
83 YaTeX-mode-map [menu-bar yatex percent]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
84 '(! "Change LaTeX typesetter(%#!)"
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
85 (lambda () (interactive) (YaTeX-%-menu nil nil ?!)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
86 '(begend "Set %#BEGIN-%#END on region"
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
87 (lambda () (interactive) (YaTeX-%-menu nil nil ?b)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
88 '(lpr "Change LPR format"
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
89 (lambda () (interactive) (YaTeX-%-menu nil nil ?l))))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
90
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
91 ;; What position -------------------------------------------------------------
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
92 (YaTeX-19-define-sub-menu
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
93 YaTeX-mode-map [menu-bar yatex]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
94 '(what "What column in tabular" YaTeX-what-column))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
95
52
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
96 ;; Document hierarchy ------------------------------------------------------
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
97 (YaTeX-19-define-sub-menu
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
98 YaTeX-mode-map [menu-bar yatex]
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
99 '(hier "Display document hierarchy" YaTeX-display-hierarchy-directly))
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
100
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
101 ;; Jump cursor ---------------------------------------------------------------
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
102 (define-key YaTeX-mode-map [menu-bar yatex jump]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
103 (cons "Jump cursor"
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
104 (make-sparse-keymap "Jump cursor")))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
105 (YaTeX-19-define-sub-menu
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
106 YaTeX-mode-map [menu-bar yatex jump]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
107 '(corres "Goto corersponding position" YaTeX-goto-corresponding-*)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
108 '(main "Visit main source" (lambda () (interactive) (YaTeX-visit-main)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
109 '(main-other "Visit main source other window" YaTeX-visit-main-other-window)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
110 )
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
111
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
112 ;; ===========================================================================
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
113 (define-key YaTeX-mode-map [menu-bar yatex sepcom]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
114 '("---" . nil))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
115
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
116 ;; Comment/Uncomment ---------------------------------------------------------
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
117 (YaTeX-19-define-sub-menu
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
118 YaTeX-mode-map [menu-bar yatex]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
119 '(comment "Comment region or environment" YaTeX-comment-region)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
120 '(uncomment "Unomment region or environment" YaTeX-uncomment-region)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
121 '(commentp "Comment paragraph" YaTeX-comment-paragraph)
47
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
122 '(uncommentp "Uncomment paragraph" YaTeX-uncomment-paragraph)
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
123 '(sepcom "--" nil)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
124 )
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
125
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
126
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
127 ;; ===========================================================================
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
128 ;; Change/Kill/Fill
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
129 (YaTeX-19-define-sub-menu
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
130 YaTeX-mode-map [menu-bar yatex]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
131 '(change "Change macros" YaTeX-change-*)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
132 '(kill "Kill macros" YaTeX-kill-*)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
133 '(fillitem "Fill \\item" YaTeX-fill-item)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
134 '(newline "Newline" YaTeX-intelligent-newline)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
135 '(sepchg "--" nil)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
136 )
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
137
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
138 ;; Menu for completions ------------------------------------------------------
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
139
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
140
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
141 ;;;(YaTeX-19-define-sub-menu
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
142 ;;; YaTeX-mode-map [menu-bar yatex]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
143 ;;; '(secr "Section-type command on region" YaTeX-make-section-region)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
144 ;;; '(sec "Section-type command" YaTeX-make-section))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
145
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
146 (define-key YaTeX-mode-map [menu-bar yatex sectionr]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
147 (cons "Section-type region(long name)"
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
148 (make-sparse-keymap "Enclose region with section-type macro")))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
149 (define-key YaTeX-mode-map [menu-bar yatex section]
47
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
150 (cons "Section-type(long name)"
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
151 (make-sparse-keymap "Section-type macro")))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
152 (let ((sorted-section
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
153 (sort
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
154 (delq nil
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
155 (mapcar (function (lambda (s)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
156 (if (> (length (car s)) 5)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
157 (car s))))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
158 (append section-table user-section-table)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
159 'string<)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
160 (apply 'YaTeX-19-define-sub-menu
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
161 YaTeX-mode-map [menu-bar yatex section]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
162 (mapcar (function (lambda (secname)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
163 (list (intern secname) secname
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
164 (list 'lambda ()
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
165 (list 'interactive)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
166 (list 'YaTeX-make-section
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
167 nil nil nil secname)))))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
168 sorted-section))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
169 (apply 'YaTeX-19-define-sub-menu
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
170 YaTeX-mode-map [menu-bar yatex sectionr]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
171 (mapcar (function (lambda (secname)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
172 (list (intern secname) secname
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
173 (list 'lambda ()
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
174 (list 'interactive)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
175 (list 'YaTeX-make-section
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
176 nil
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
177 (list 'region-beginning)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
178 (list 'region-end)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
179 secname)))))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
180 sorted-section)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
181
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
182 (define-key YaTeX-mode-map [menu-bar yatex envr]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
183 (cons "Environment region" (make-sparse-keymap "Environment region")))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
184 (define-key YaTeX-mode-map [menu-bar yatex env]
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
185 (cons "Environment" (make-sparse-keymap "Environment")))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
186 (let (prev envname)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
187 (mapcar
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
188 (function
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
189 (lambda (envalist)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
190 (setq envname (car envalist))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
191 (define-key-after
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
192 (lookup-key YaTeX-mode-map [menu-bar yatex env])
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
193 (vector (intern envname))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
194 (cons envname
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
195 (list 'lambda () (list 'interactive)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
196 (list 'YaTeX-insert-begin-end
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
197 envname nil)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
198 prev)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
199 (define-key-after
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
200 (lookup-key YaTeX-mode-map [menu-bar yatex envr])
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
201 (vector (intern envname))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
202 (cons envname
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
203 (list 'lambda () (list 'interactive)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
204 (list 'YaTeX-insert-begin-end
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
205 envname t)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
206 prev)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
207 (setq prev (intern envname))))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
208 (sort (append env-table user-env-table)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
209 '(lambda (x y) (string< (car x) (car y))))))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
210
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
211 ;; Other key bindings for window-system
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
212 ;(YaTeX-define-key [?\C- ] 'YaTeX-do-completion)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
213 (define-key YaTeX-mode-map [?\M-\C- ] 'YaTeX-mark-environment)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
214
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
215 ;; Highlightening
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
216 ;; メニューに比べてこっちは結構本気でやってます。
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
217 ;; だって文書構造がとっても分かり易いんだもん。
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
218 ;; みんなも hilit19.el を使おう!
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
219 ;;
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
220 ;; さて、まずは対応する {} をピカピカ範囲とするような関数を作る。
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
221 ;; これは hilit-LaTeX.el を参考にした。でも、ちゃんと section 型コマンドの
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
222 ;; 引数を数えて正しい位置までピカピカさせるよ〜ん!
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
223
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
224 (defun YaTeX-19-region-section-type (pattern)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
225 "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
226 (if (re-search-forward pattern nil t)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
227 (let ((m0 (match-beginning 0)) cmd (argc 1))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
228 (setq cmd (substring (YaTeX-match-string 0) 1 -1)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
229 argc (or (car (cdr (YaTeX-lookup-table cmd 'section))) argc))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
230 (cons m0
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
231 (progn (skip-chars-backward "^{") (forward-char -2)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
232 (while (> argc 0)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
233 (skip-chars-forward "^{")
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
234 (forward-list 1)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
235 (setq argc (1- argc)))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
236 (point))))))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
237
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
238 (defun YaTeX-19-region-large-type (pattern)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
239 "Return list of large-type contents.
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
240 Assumes PATTERN begins with `{'."
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
241 (if (re-search-forward pattern nil t)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
242 (let ((m0 (match-beginning 0)))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
243 (goto-char m0)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
244 (skip-chars-forward "^ \t\n")
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
245 (skip-chars-forward " \t\n")
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
246 (cons (point)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
247 (progn (goto-char m0) (forward-list 1)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
248 (1- (point)))))))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
249
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
250 ;; 些細なことだが % の前の文字もピカリとさせてしまうようで… >hilit19
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
251 ;; ↓この関数は下の hilit-set-mode-patterns の "[^\\]\\(%\\).*$" に
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
252 ;; 依存している
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
253 (defun YaTeX-19-region-comment (pattern)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
254 "Return list of comment start and end point."
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
255 (if (re-search-forward pattern nil t)
56
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
256 (cons (match-beginning 2) (match-end 0))))
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
257
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
258 ;;(make-face 'tt)
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
259 ;;(set-face-font 'tt "-schumacher-clean-medium-r-normal--*-*-*-*-*-*-*-*")
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
260 ;;(hilit-translate 'tt "white")
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
261
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
262 (defvar YaTeX-hilit-patterns-alist
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
263 '(
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
264 ;; comments
56
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
265 (YaTeX-19-region-comment "\\([^\\]\\|^\\)\\(%\\).*$" comment)
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
266
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
267 (YaTeX-19-region-section-type "\\\\footnote\\(mark\\|text\\)?{" keyword)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
268 ("\\\\[a-z]+box" 0 keyword)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
269 (YaTeX-19-region-section-type "\\\\\\(v\\|h\\)space\\(\*\\)?{" keyword)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
270
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
271 ;; (re-)define new commands/environments/counters
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
272 (YaTeX-19-region-section-type
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
273 "\\\\\\(re\\)?new\\(environment\\|command\\|theorem\\){" defun)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
274 (YaTeX-19-region-section-type
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
275 "\\\\\\(re\\)?new\\(length\\|counter\\){" define)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
276
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
277 ;; various declarations/definitions
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
278 (YaTeX-19-region-section-type
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
279 "\\\\\\(set\\|setto\\|addto\\)\\(length\\|width\\|counter\\){"
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
280 define)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
281 (YaTeX-19-region-section-type
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
282 "\\\\\\(title\\|author\\|date\\|thanks\\){" define)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
283
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
284 ("\\\\documentstyle\\(\\[.*\\]\\)?{" "}" decl)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
285 ("\\\\\\(begin\\|end\\|nofiles\\|includeonly\\){" "}" decl)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
286 ("\\\\\\(raggedright\\|makeindex\\|makeglossary\\|maketitle\\)\\b" 0 decl)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
287 ("\\\\\\(pagestyle\\|thispagestyle\\|pagenumbering\\){" "}" decl)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
288 ("\\\\\\(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
289 ("\\\\\\(appendix\\|tableofcontents\\|listoffigures\\|listoftables\\)\\b"
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
290 0 decl)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
291 ("\\\\\\(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
292
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
293 ;; label-like things
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
294 ;;this should be customized by YaTeX-item-regexp
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
295 ("\\\\\\(sub\\)*item\\b\\(\\[[^]]*\\]\\)?" 0 label)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
296 (YaTeX-19-region-section-type
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
297 "\\\\caption\\(\\[[^]]*\\]\\)?{" label)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
298
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
299 ;; formulas
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
300 ("[^\\]\\\\(" "\\\\)" formula) ; \( \)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
301 ("[^\\]\\\\\\[" "\\\\\\]" formula) ; \[ \]
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
302 ("\\\\begin{\\(eqn\\|equation\\)" "\\\\end{\\(eqn\\|equation\\)" formula)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
303 ("[^\\$]\\($\\($[^$]*\\$\\|[^$]*\\)\\$\\)" 1 formula) ; '$...$' or '$$...$$'
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
304
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
305 ;; things that bring in external files
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
306 ("\\\\\\(include\\|input\\|bibliography\\){" "}" include)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
307
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
308 ;; "wysiwyg" emphasis -- these don't work with nested expressions
56
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
309 (YaTeX-19-region-large-type "{\\\\\\(em\\|it\\|sl\\)" italic)
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
310 (YaTeX-19-region-large-type "{\\\\bf" bold)
56
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
311 ;;;(YaTeX-19-region-large-type "{\\\\tt" tt)
a9653fbd1c1c Bug fix version
yuuji
parents: 53
diff changeset
312 ;;;("\\\\begin{verbatim" "\\\\end{verbatim" tt)
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
313
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
314 ("``" "''" string)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
315
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
316 ;; things that do some sort of cross-reference
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
317 (YaTeX-19-region-section-type
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
318 "\\\\\\(\\(no\\)?cite\\|\\(page\\)?ref\\|label\\|index\\|glossary\\){"
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
319 crossref)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
320 )
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
321 "*Hiliting pattern alist for LaTeX text.")
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 ;;(defvar YaTeX-hilit-pattern-adjustment-default nil)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
324 ;; ↑いらなくなった。
51
b0371b6ed799 Created `ChangeLog'.
yuuji
parents: 49
diff changeset
325 (defvar YaTeX-hilit-pattern-adjustment-private nil
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
326 "*Adjustment hilit-pattern-alist for default yatex-mode's pattern.")
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
327 (defvar YaTeX-hilit-sectioning-face
57
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
328 '(yellow/dodgerblue yellow/slateblue)
51
b0371b6ed799 Created `ChangeLog'.
yuuji
parents: 49
diff changeset
329 "*Hilightening face for sectioning unit. '(FaceForLight FaceForDark)")
57
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
330 (defvar YaTeX-hilit-sectioning-attenuation-rate
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
331 '(15 40)
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
332 "*Maximum attenuation rate of sectioning face. '(ForeRate BackRate)
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
333 Each rate specifies how much portion of RGB value should be attenuated
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
334 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
335 (defvar YaTeX-sectioning-patterns-alist nil
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
336 "Hilightening patterns for sectioning units.")
47
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
337 (defvar YaTeX-hilit-singlecmd-face
51
b0371b6ed799 Created `ChangeLog'.
yuuji
parents: 49
diff changeset
338 '(slateblue2 aquamarine)
b0371b6ed799 Created `ChangeLog'.
yuuji
parents: 49
diff changeset
339 "*Hilightening face for maketitle type. '(FaceForLight FaceForDark)")
52
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
340
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
341 ;;; セクションコマンドを、構造レベルの高さに応じて色の濃度を変える
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
342 ;;; 背景が黒でないと何が嬉しいのか分からないに違いない.
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
343 ;;; もしかして白地の時は構造レベルに応じて色を明るくしたほうが良いのか?
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
344 (cond
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
345 ((and (featurep 'hilit19) (fboundp 'x-color-values))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
346 (let*((sectface
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
347 (car (if (eq hilit-background-mode 'dark)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
348 (cdr YaTeX-hilit-sectioning-face)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
349 YaTeX-hilit-sectioning-face)))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
350 (sectcol (symbol-name sectface))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
351 sect-pat-alist)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
352 (if (string-match "/" sectcol)
57
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
353 (let ((fmin (nth 0 YaTeX-hilit-sectioning-attenuation-rate))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
354 (bmin (nth 1 YaTeX-hilit-sectioning-attenuation-rate))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
355 colorvalue fR fG fB bR bG bB pat fg bg level from face list lm)
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
356 (require 'yatexsec)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
357 (setq fg (substring sectcol 0 (string-match "/" sectcol))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
358 bg (substring sectcol (1+ (string-match "/" sectcol)))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
359 colorvalue (x-color-values fg)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
360 fR (/ (nth 0 colorvalue) 256)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
361 fG (/ (nth 1 colorvalue) 256)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
362 fB (/ (nth 2 colorvalue) 256)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
363 colorvalue (x-color-values bg)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
364 bR (/ (nth 0 colorvalue) 256)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
365 bG (/ (nth 1 colorvalue) 256)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
366 bB (/ (nth 2 colorvalue) 256)
57
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
367 lm YaTeX-sectioning-max-level
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
368 list YaTeX-sectioning-level)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
369 (while list
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
370 (setq pat (concat YaTeX-ec-regexp (car (car list)) "\\*?{")
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
371 level (cdr (car list))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
372 fg (format "hex-%02x%02x%02x"
57
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
373 (- fR (/ (* level fR fmin) lm 100))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
374 (- fG (/ (* level fG fmin) lm 100))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
375 (- fB (/ (* level fB fmin) lm 100)))
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
376 bg (format "hex-%02x%02x%02x"
57
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
377 (- bR (/ (* level bR bmin) lm 100))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
378 (- bG (/ (* level bG bmin) lm 100))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
379 (- bB (/ (* level bB bmin) lm 100)))
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
380 from (intern (format "sectioning-%d" level))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
381 face (intern (concat fg "/" bg)))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
382 (hilit-translate from face)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
383 (setq sect-pat-alist
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
384 (cons;;(list pat "}" face)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
385 (list 'YaTeX-19-region-section-type pat face)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
386 sect-pat-alist))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
387 (setq list (cdr list)))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
388 (setq YaTeX-sectioning-patterns-alist sect-pat-alist))))))
52
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
389
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
390 ;; ローカルなマクロを読み込んだ後 redraw すると
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
391 ;; ローカルマクロを keyword として光らせる(keywordじゃまずいかな…)。
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
392 (defun YaTeX-19-collect-macros ()
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
393 (cond
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
394 ((and (featurep 'hilit19) (fboundp 'hilit-translate))
47
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
395 (let ((get-face
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
396 (function
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
397 (lambda (table)
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
398 (cond
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
399 ((eq hilit-background-mode 'light) (car table))
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
400 ((eq hilit-background-mode 'dark) (car (cdr table)))
57
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
401 (t nil)))))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
402 sect single)
47
d7e7b4654058 Support special popup frame.
yuuji
parents: 46
diff changeset
403 (hilit-translate
52
5d94deabb9f9 Set YaTeX-indent-line to 'indent-line-function.
yuuji
parents: 51
diff changeset
404 ;;sectioning (funcall get-face YaTeX-hilit-sectioning-face)
57
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
405 macro (funcall get-face YaTeX-hilit-singlecmd-face))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
406 (if (setq sect (append user-section-table tmp-section-table))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
407 (setq sect (concat "\\\\\\("
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
408 (mapconcat
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
409 (function
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
410 (lambda (s) (regexp-quote (car s))))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
411 sect
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
412 "\\|")
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
413 "\\){")))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
414 (if (setq single (append user-singlecmd-table tmp-singlecmd-table))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
415 (setq single (concat "\\\\\\("
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
416 (mapconcat
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
417 (function (lambda (s) (regexp-quote (car s))))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
418 single
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
419 "\\|")
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
420 "\\)\\b")))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
421 (setq hilit-patterns-alist ;Remove at first.
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
422 (delq (assq 'yatex-mode hilit-patterns-alist) hilit-patterns-alist)
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
423 hilit-patterns-alist
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
424 (cons
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
425 (cons 'yatex-mode
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
426 (append
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
427 (list nil)
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
428 YaTeX-sectioning-patterns-alist
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
429 YaTeX-hilit-pattern-adjustment-private
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
430 ;;YaTeX-hilit-pattern-adjustment-default
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
431 YaTeX-hilit-patterns-alist
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
432 (delq nil
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
433 (list
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
434 (if sect (list
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
435 'YaTeX-19-region-section-type
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
436 sect
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
437 'keyword))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
438 (if single (list single 0 'macro))))))
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
439 hilit-patterns-alist))))))
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
440 ;;(YaTeX-19-collect-macros) ;causes an error
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
441 (defun YaTeX-hilit-recenter (arg)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
442 "Collect current local macro and hilit-recenter."
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
443 (interactive "P")
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
444 (YaTeX-19-collect-macros)
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
445 (hilit-recenter arg))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
446 (if (fboundp 'hilit-recenter) ;Replace hilit-recenter with
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
447 (mapcar (function (lambda (key) ;YaTeX-hilit-recenter in yatex-mode
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
448 (define-key YaTeX-mode-map key 'YaTeX-hilit-recenter)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
449 (where-is-internal 'hilit-recenter)))
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
450
53
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
451 (defun YaTeX-switch-to-new-window ()
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
452 (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
453 (while (< i win:max-configs)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
454 (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
455 (setq i (1+ i)))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
456 (while (not (string-match (char-to-string c) free))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
457 (message "Which window to create? [%s]: " free)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
458 (setq c (read-char)))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
459 (message "Creating window [%c]" c)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
460 (set-buffer (get-buffer-create "*scratch*"))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
461 (win:switch-window (- c win:base-key))))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
462
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
463 (defun YaTeX-visit-main-other-frame ()
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
464 "Visit main file in other frame.
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
465 WARNING, This code is not perfect."
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
466 (interactive)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
467 (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
468 (let (parent)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
469 (save-excursion (YaTeX-visit-main t) (setq parent (current-buffer)))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
470 (cond
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
471 ((get-buffer-window parent t)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
472 (goto-buffer-window parent))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
473 ((and (featurep 'windows) win:use-frame)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
474 (YaTeX-switch-to-new-window)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
475 (switch-to-buffer parent))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
476 (t (switch-to-buffer-other-frame (buffer-name parent)))))))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
477
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
478 (defun YaTeX-goto-corresponding-*-other-frame (arg)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
479 "Go to corresponding object in other frame."
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
480 (interactive "P")
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
481 (let (b p)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
482 (save-window-excursion
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
483 (save-excursion
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
484 (YaTeX-goto-corresponding-* arg)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
485 (setq b (current-buffer) p (point))))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
486 (cond
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
487 ((get-buffer-window b t)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
488 (goto-buffer-window b)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
489 (goto-char p))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
490 ((and (featurep 'windows) win:use-frame)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
491 (YaTeX-switch-to-new-window)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
492 (switch-to-buffer b)
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
493 (goto-char p))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
494 (t (switch-to-buffer-other-frame (buffer-name b))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
495 (goto-char p))))
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
496 )
5f4b18da14b3 Fix functions relating YaTeX-beginning-of-environment or
yuuji
parents: 52
diff changeset
497
49
eb0512bfcb7f Abolish user-article table.
yuuji
parents: 47
diff changeset
498 ;;; reverseVideo にして hilit-background-mode を 'dark
eb0512bfcb7f Abolish user-article table.
yuuji
parents: 47
diff changeset
499 ;;; にしている人は数式などが暗くなりすぎて見づらいかもしれない。
eb0512bfcb7f Abolish user-article table.
yuuji
parents: 47
diff changeset
500 ;;; 次のコードを hilit19 をロードしている場所の直後に置くとちょっ
eb0512bfcb7f Abolish user-article table.
yuuji
parents: 47
diff changeset
501 ;;; とはまし。
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
502 ;;; (if (eq hilit-background-mode 'dark)
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
503 ;;; (hilit-translate
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
504 ;;; string 'mediumspringgreen
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
505 ;;; formula 'khaki
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
506 ;;; label 'yellow-underlined))
57
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
507 (and YaTeX-emacs-19
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
508 (eval-when-compile
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
509 (if (and (boundp 'window-system) window-system)
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
510 (require 'hilit19)
18f4939986e6 (j)LaTeX2e supported
yuuji
parents: 56
diff changeset
511 (error "Byte compile this file on window system! Not `-nw'!"))))
46
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
512
cd1b63102eed Support Mule2
yuuji
parents:
diff changeset
513 (provide 'yatex19)

yatex.org