annotate yatex.el @ 4:78dfe28b6a35

Provide service function to define begin/end insert key-bind. Support environment wide commenting/de-commenting. Revise YaTeX-end-environment. Add YaTeX-inhibit-prefix-alphabet to avoid "C-c letter".
author yuuji
date Mon, 30 Nov 1992 07:29:11 +0000
parents 191610912c8b
children 370a391533fd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1 ;;; -*- Emacs-Lisp -*-
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
2 ;;; Yet Another tex-mode for emacs.
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
3 ;;; yatex.el rev.1.33
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
4 ;;; (c)1991 by Hirose Yuuji.[yuuji@ae.keio.ac.jp]
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
5 ;;; Last modified Sun Nov 29 16:04:57 1992 on 98fa
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
6
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
7 (provide 'yatex-mode)
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
8 (require 'comment)
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
9 (defconst YaTeX-revision-number "1.33"
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
10 "Revision number of running yatex.el"
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
11 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
12
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
13 ;---------- Local variables ----------
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
14 ;;;
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
15 ;; Initialize local variable for yatex-mode.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
16 ;; Preserving user preferred definitions.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
17 ;; ** Check all of these defvar-ed values **
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
18 ;; ** and setq other values more suitable **
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
19 ;; ** for your site, if nedded. **
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
20 ;;;
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
21 (defvar YaTeX-prefix "\^C"
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
22 "Prefix key to trigger YaTeX functions.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
23 You can select favorite prefix key by setq in your ~/.emacs."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
24 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
25 (defvar YaTeX-open-lines 1
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
26 "Blank lines between text and \??{??}"
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
27 )
1
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
28 (defvar YaTeX-fill-prefix ""
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
29 "fill-prefix used for auto-fill-mode.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
30 The defalut value is single TAB."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
31 )
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
32 (defvar YaTeX-comment-prefix "%"
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
33 "TeX comment prefix."
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
34 )
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
35 (defvar YaTeX-user-completion-table
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
36 (if (eq system-type 'ms-dos) "~/_yatexrc"
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
37 "~/.yatexrc")
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
38 "Default filename in which user completion table is saved."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
39 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
40 (defvar tex-command "jlatex"
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
41 "Default command for compiling LaTeX text."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
42 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
43 (defvar dvi2-command ;previewer command for your site
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
44 (if (eq system-type 'ms-dos)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
45 "dviout"
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
46 (concat
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
47 "xdvi -geo +0+0 -s 4 -display "
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
48 (getenv "DISPLAY")))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
49 "Default previewer command including its option.
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
50 This default value is for X window system. If you want to use this
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
51 default, you have to make sure the environment variable DISPLAY is
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
52 correctly set."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
53 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
54 (defvar latex-warning-regexp "line.* [0-9]*"
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
55 "Regular expression of line number of warning message by latex command."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
56 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
57 (defvar latex-error-regexp "l\\.[1-9][0-9]*"
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
58 "Regular expression of line number of latex error. Perhaps your latex
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
59 command stops at this error message with line number of LaTeX source text."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
60 )
1
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
61 (defvar latex-dos-emergency-message
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
62 "Emergency stop" ;<- for Micro tex, ASCII-pTeX 1.6
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
63 "Because Demacs (GNU Emacs on DOS) cannot have pararell process, the
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
64 latex command which is stopping on a LaTeX error, is terminated by Demacs.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
65 Many latex command on DOS display some message when it is terminated by
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
66 other process, user or OS. Define this variable a message string of your
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
67 latex command on DOS shows at abnormal termination.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
68 Remember Demacs's call-process function is not oriented for interactive
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
69 process."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
70 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
71
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
72 ;------------ Completion table ------------
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
73 ; Set tex-section-like command possible completion
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
74 (setq section-table
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
75 '(("part") ("section") ("subsection") ("subsubsection")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
76 ("author") ("documentstyle") ("pagestyle")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
77 ("documentstyle[10pt]") ("documentstyle[11pt]")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
78 ("documentstyle[12pt]")
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
79 ("title") ("chapter") ("part") ("paragraph")
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
80 ("subparagraph") ("underline") ("label") ("footnote")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
81 ("hspace*") ("vspace*") ("bibliography") ("bibitem[]") ("cite[]")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
82 ("nocite") ("input") ("include") ("includeonly") ("mbox") ("hbox")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
83 ("caption") ("newcommand") ("setlength") ("addtolength")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
84 ("newenvironment") ("newtheorem")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
85 ))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
86 (defvar user-section-table nil)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
87
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
88 ; Set style possible completion
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
89 (setq article-table
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
90 '(("article") ("jarticle") ("report") ("jreport") ("jbook")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
91 ("4em") ("2ex")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
92 ("empty") ("headings") ("\\textwidth")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
93 ("\\oddsidemargin") ("\\evensidemargin")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
94 ("\\textheight") ("\\topmargin")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
95 ("\\bottommargin") ("\\footskip") ("\\footheight")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
96 ))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
97 (defvar user-article-table nil)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
98
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
99 ; Set tex-environment possible completion
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
100 (setq env-table
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
101 '(("quote") ("quotation") ("center") ("verse") ("document")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
102 ("verbatim") ("itemize") ("enumerate") ("description")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
103 ("list{}") ("tabular") ("table") ("titlepage")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
104 ("sloppypar") ("ref") ("quotation") ("quote") ("picture")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
105 ("eqnarray") ("figure") ("equation") ("abstract") ("array")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
106 ("thebibliography") ("theindex")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
107 ))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
108 (defvar user-env-table nil)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
109
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
110 ; Set {\Large }-like comletion
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
111 (setq fontsize-table
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
112 '(("rm") ("em") ("bf") ("boldmath") ("it") ("sl") ("sf") ("sc") ("tt")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
113 ("dg") ("dm")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
114 ("tiny") ("scriptsize") ("footnotesize") ("small")("normalsize")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
115 ("large") ("Large") ("LARGE") ("huge") ("Huge")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
116 ))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
117 (defvar user-fontsize-table nil)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
118
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
119 (setq singlecmd-table
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
120 '(("maketitle") ("sloppy")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
121 ("alpha") ("beta") ("gamma") ("delta") ("epsilon") ("varepsilon")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
122 ("zeta") ("eta") ("theta")("vartheta") ("iota") ("kappa")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
123 ("lambda") ("mu") ("nu") ("xi") ("pi") ("varpi") ("rho") ("varrho")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
124 ("sigma") ("varsigma") ("tau") ("upsilon") ("phi") ("varphi")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
125 ("chi") ("psi") ("omega") ("Gamma") ("Delta") ("Theta") ("Lambda")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
126 ("Xi") ("Pi") ("Sigma") ("Upsilon") ("Phi") ("Psi") ("Omega")
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
127 ("LaTeX") ("TeX") ("item[]")
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
128 ))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
129 (defvar user-singlecmd-table nil)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
130
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
131 ;---------- Key mode map ----------
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
132 ;;;
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
133 ;; Create new key map: YaTeX-mode-map
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
134 ;; Do not change this section.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
135 ;;;
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
136 (defvar YaTeX-inhibit-prefix-letter nil
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
137 "Switch which determin whether inhibit yatex.el from defining
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
138 key sequence \"C-c letter\" or not."
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
139 )
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
140 (defvar YaTeX-mode-map nil
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
141 "Keymap used in YaTeX mode."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
142 )
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
143 (defvar YaTeX-typesetting-mode-map nil
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
144 "Keymap userd in YaTeX typesetting buffer."
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
145 )
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
146 (defvar YaTeX-prefix-map nil
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
147 "Keymap used when YaTeX-prefix key pushed."
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
148 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
149
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
150 ;---------- Define deafult key bindings on YaTeX mode map ----------
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
151 (defun YaTeX-define-key (key binding)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
152 "Define key on YaTeX-prefix-map"
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
153 (if YaTeX-inhibit-prefix-letter
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
154 (let ((c (aref key 0)))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
155 (cond
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
156 ((and (>= c ?a) (<= c ?z)) (aset key 0 (1+ (- c ?a))))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
157 ((and (>= c ?A) (<= c ?Z)) (aset key 0 (1+ (- c ?A))))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
158 (t nil))))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
159 (define-key YaTeX-prefix-map key binding)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
160 )
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
161 (defun YaTeX-define-begend-key (key env)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
162 "Define short cut YaTeX-make-begin-end key."
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
163 (YaTeX-define-key
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
164 key
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
165 (list 'lambda '(arg) '(interactive "P")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
166 (list 'YaTeX-insert-begin-end env 'arg)))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
167 )
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
168 (defun YaTeX-define-begend-region-key (key env)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
169 "Define short cut YaTeX-make-begin-end-region key."
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
170 (YaTeX-define-key key (list 'lambda nil '(interactive)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
171 (list 'YaTeX-insert-begin-end env t)))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
172 )
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
173 ;;;
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
174 ;; Define key table
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
175 ;;;
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
176 (if YaTeX-mode-map
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
177 nil
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
178 (setq YaTeX-mode-map (make-sparse-keymap))
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
179 (setq YaTeX-prefix-map (make-sparse-keymap))
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
180 (define-key YaTeX-mode-map "\"" 'YaTeX-insert-quote)
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
181 (define-key YaTeX-mode-map YaTeX-prefix YaTeX-prefix-map)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
182 (YaTeX-define-key "t" 'YaTeX-typeset-menu)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
183 (define-key YaTeX-prefix-map "'" 'YaTeX-prev-error)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
184 (define-key YaTeX-prefix-map " " 'YaTeX-do-completion)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
185 (YaTeX-define-key "v" 'YaTeX-version)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
186
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
187 (define-key YaTeX-prefix-map "{" 'YaTeX-insert-braces)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
188 (define-key YaTeX-prefix-map "}" 'YaTeX-insert-braces-region)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
189 (YaTeX-define-key "d" 'YaTeX-insert-dollar)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
190 (YaTeX-define-key
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
191 "\\" '(lambda () (interactive) (YaTeX-insert-string "$\\backslash$")))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
192 (YaTeX-define-begend-region-key "Bd" "document")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
193 (YaTeX-define-begend-key "bd" "document")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
194 (YaTeX-define-begend-region-key "BD" "description")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
195 (YaTeX-define-begend-key "bD" "description")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
196 (YaTeX-define-begend-region-key "Be" "enumerate")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
197 (YaTeX-define-begend-key "be" "enumerate")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
198 (YaTeX-define-begend-region-key "Bi" "itemize")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
199 (YaTeX-define-begend-key "bi" "itemize")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
200 (YaTeX-define-begend-region-key "Bt" "tabbing")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
201 (YaTeX-define-begend-key "bt" "tabbing")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
202 (YaTeX-define-begend-region-key "BT" "tabular")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
203 (YaTeX-define-begend-key "bT" "tabular")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
204 (YaTeX-define-begend-region-key "Bq" "quote")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
205 (YaTeX-define-begend-key "bq" "quote")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
206 (YaTeX-define-begend-region-key "BQ" "quotation")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
207 (YaTeX-define-begend-key "bQ" "quotation")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
208 (YaTeX-define-key "." 'YaTeX-comment-paragraph)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
209 (YaTeX-define-key "," 'YaTeX-uncomment-paragraph)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
210 (YaTeX-define-key ">" 'YaTeX-comment-region)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
211 (YaTeX-define-key "<" 'YaTeX-uncomment-region)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
212 (YaTeX-define-key "B " 'YaTeX-make-begin-end-region)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
213 (YaTeX-define-key "b " 'YaTeX-make-begin-end)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
214 (YaTeX-define-key "e" 'YaTeX-end-environment)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
215 (YaTeX-define-key "s" 'YaTeX-make-section)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
216 (YaTeX-define-key "L" 'YaTeX-make-fontsize-region)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
217 (YaTeX-define-key "l" 'YaTeX-make-fontsize)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
218 (YaTeX-define-key "m" 'YaTeX-make-singlecmd)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
219 (YaTeX-define-key "g" 'YaTeX-goto-corresponding-environment)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
220 (YaTeX-define-key "\C-m"
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
221 '(lambda () (interactive) (YaTeX-insert-string "\\\\")))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
222 (if (eq system-type 'ms-dos)
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
223 (define-key YaTeX-prefix-map "\^L"
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
224 '(lambda () (interactive)
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
225 (set-screen-height YaTeX-saved-screen-height) (recenter))))
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
226 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
227
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
228 (if YaTeX-typesetting-mode-map nil
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
229 (setq YaTeX-typesetting-mode-map (make-keymap))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
230 (suppress-keymap YaTeX-typesetting-mode-map t)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
231 (define-key YaTeX-typesetting-mode-map " "
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
232 'YaTeX-jump-error-line)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
233 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
234
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
235 ;---------- Customize as you like above ----------
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
236
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
237 ;---------- Define other variable ----------
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
238 (defvar env-name "document") ;Initial tex-environment completion
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
239 (defvar section-name "documentstyle[12pt]") ;Initial tex-section completion
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
240 (defvar fontsize-name "large") ;Initial fontsize completion
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
241 (defvar single-command "maketitle") ;Initial LaTeX single command
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
242 (defvar YaTeX-user-table-has-read nil
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
243 "Flag that means whether user completion table has read or not."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
244 )
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
245 (defvar YaTeX-user-table-modified nil
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
246 "Flag that means whether user completion table has modified or not."
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
247 )
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
248 (defvar yatex-mode-hook nil
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
249 "List of functions to be called after .tex file is read
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
250 and yatex-mode starts.")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
251
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
252 ;---------- Produce YaTeX-mode ----------
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
253 ;;;
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
254 ;; Major mode definition
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
255 ;;;
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
256 (defun yatex-mode ()
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
257 (interactive)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
258 (kill-all-local-variables)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
259 (setq major-mode 'YaTeX-mode)
1
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
260 (setq mode-name "‚â‚Ä‚Ó‚à[‚Ç")
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
261 (turn-on-auto-fill)
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
262 (make-local-variable 'dvi2-command)
1
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
263 (make-local-variable 'kanji-display-code)
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
264 (make-local-variable 'kanji-fileio-code)
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
265 (if (eq system-type 'ms-dos)
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
266 (setq YaTeX-kanji-code 1)
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
267 (defvar YaTeX-kanji-code 2))
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
268 (setq kanji-display-code YaTeX-kanji-code
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
269 kanji-fileio-code YaTeX-kanji-code)
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
270 (make-local-variable 'fill-column)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
271 (make-local-variable 'fill-prefix)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
272 (setq fill-column 72
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
273 fill-prefix YaTeX-fill-prefix)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
274 (use-local-map YaTeX-mode-map)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
275 (if (eq system-type 'ms-dos)
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
276 (setq YaTeX-saved-screen-height (screen-height)))
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
277 (if YaTeX-user-table-has-read nil
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
278 (YaTeX-read-user-completion-table)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
279 (setq YaTeX-user-table-has-read t))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
280 (run-hooks 'yatex-mode-hook)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
281 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
282
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
283 ;---------- Define YaTeX-mode functions ----------
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
284 ;;;
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
285 ;; YaTeX-mode functions
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
286 ;;;
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
287 (defun YaTeX-insert-begin-end (env arg)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
288 "Insert \begin{mode-name} and \end{mode-name}."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
289 (if arg
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
290 (save-excursion
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
291 (if (> (point) (mark)) (exchange-point-and-mark))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
292 (insert "\\begin{" env "}\n")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
293 (exchange-point-and-mark)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
294 (insert "\\end{" env "}\n"))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
295 (delete-blank-lines)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
296 (insert "\\begin{" env "}\n")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
297 (newline (1+ (* 2 YaTeX-open-lines)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
298 (insert "\\end{" env "}\n")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
299 (previous-line (+ 2 YaTeX-open-lines)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
300 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
301
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
302 (defun YaTeX-make-begin-end (arg)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
303 "Make LaTeX environment command of \\begin{env.} ... \\end{env.}
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
304 by completing read.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
305 If you invoke this command with universal argument,
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
306 \(C-u or ESC-1 is typical prefix to invoke commands with ARG.\)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
307 you can put REGION into that environment between \\begin and \\end."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
308 (interactive "P")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
309 (let*
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
310 ((mode (if arg " region" ""))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
311 (env
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
312 (completing-read
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
313 (format "Begin environment%s(default %s): " mode env-name)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
314 (append user-env-table env-table) nil nil)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
315 (if (string= env "")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
316 (setq env env-name))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
317 (setq env-name env)
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
318 (if (not (assoc env-name (append user-env-table env-table))) ;if not exist
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
319 (setq user-env-table (cons (list env-name) user-env-table)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
320 YaTeX-user-table-modified t))
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
321 (YaTeX-insert-begin-end env-name arg))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
322 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
323
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
324 (defun YaTeX-make-begin-end-region ()
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
325 "Call YaTeX-make-begin-end with ARG to specify region mode."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
326 (interactive)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
327 (YaTeX-make-begin-end t)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
328 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
329
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
330 (defun YaTeX-end-environment ()
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
331 "Close opening environment"
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
332 (interactive)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
333 (let ((curp (point))
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
334 s env (nest 0))
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
335 (save-excursion
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
336 (while
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
337 (and
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
338 (>= nest 0)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
339 (re-search-backward
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
340 "\\(\\\\begin{\\).*}\\|\\(\\\\end{\\).*}" (point-min) t))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
341 (if (re-search-backward "^[ ]*%" (point-beginning-of-line) t)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
342 nil ;ignore TeX comment usage.
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
343 (setq nest (if (eq (match-beginning 0) (match-beginning 1))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
344 (1- nest) (1+ nest)))))
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
345 (if (>= nest 0)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
346 (message "No premature environment")
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
347 (goto-char (match-end 1))
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
348 (setq s (point))
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
349 (skip-chars-forward "^}")
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
350 (setq env (buffer-substring s (point)))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
351 ;;(recursive-edit)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
352 ))
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
353 (if (not env) nil
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
354 (save-excursion
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
355 (if (and (re-search-forward "^[^\\%]*\\\\end{.*}" (point-max) t)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
356 (progn (goto-char (match-beginning 0))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
357 (re-search-forward env (match-end 0) t)))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
358 (if (y-or-n-p
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
359 (concat "Environment `" env
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
360 "' was already closed. Force close?"))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
361 nil
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
362 (error "end environment aborted."))))
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
363 (message "") ;Erase (y or n) message.
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
364 (insert "\\end{" env "}")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
365 (setq curp (point))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
366 (goto-char s)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
367 (if (pos-visible-in-window-p)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
368 (sit-for 1)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
369 (message (concat "Matches \\begin{" env
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
370 (format "} at line %d"
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
371 (count-lines (point-min) s)))))
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
372 (goto-char curp))
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
373 )
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
374 )
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
375
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
376 (defun YaTeX-make-section (arg)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
377 "Make LaTeX \\section{} type command with completing read.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
378 With ARG of numeric, you can specify the number of argument of
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
379 LaTeX command.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
380 For example, if you want to produce LaTeX command
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
381
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
382 \\addtolength{\\topmargin}{8mm}
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
383
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
384 which has two argument. You can produce that sequence by typing...
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
385 ESC 2 C-c s add SPC RET \\topm SPC RET 8mm RET
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
386 \(by default\)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
387 You can complete symbol at LaTeX command and 1st argument."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
388 (interactive "p")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
389 (let*
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
390 ((section
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
391 (completing-read
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
392 (format "\\???{} (default %s): " section-name)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
393 (append user-section-table section-table)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
394 nil nil))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
395 (section (if (string= section "") section-name section))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
396 (title
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
397 (completing-read (concat "\\" section "{???}: ")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
398 (append user-article-table article-table)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
399 nil nil)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
400 (setq section-name section)
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
401 (if (not (assoc section-name (append user-section-table section-table)))
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
402 (setq user-section-table
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
403 (cons (list section-name) user-section-table)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
404 YaTeX-user-table-modified t))
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
405 (insert "\\" section-name "{" title "}")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
406 (let ((j 2))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
407 (while (<= j arg)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
408 (insert (concat "{" (read-string (format "Argument %d: " j))))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
409 (insert "}")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
410 (setq j (1+ j)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
411 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
412 (if (string= title "") (forward-char -1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
413 nil))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
414 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
415
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
416 ;(defun YaTeX-make-section-region ()
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
417 ; "Call YaTeX-make-section with ARG to specify region mode."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
418 ; (interactive)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
419 ; (YaTeX-make-section t)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
420 ;)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
421
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
422 (defun YaTeX-make-fontsize (arg)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
423 "Make completion like {\\large ...} or {\\slant ...} in minibuffer.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
424 If you invoke this command with universal argument, you can put region
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
425 into {\\xxx } braces.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
426 \(C-u or ESC-1 are default key bindings of universal-argument.\)"
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
427 (interactive "P")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
428 (let* ((mode (if arg "region" ""))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
429 (fontsize
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
430 (completing-read
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
431 (format "{\\??? %s} (default %s): " mode fontsize-name)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
432 (append user-fontsize-table fontsize-table)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
433 nil nil )))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
434 (if (string= fontsize "")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
435 (setq fontsize fontsize-name))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
436 (setq fontsize-name fontsize)
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
437 (if (not (assoc fontsize-name (append user-fontsize-table fontsize-table)))
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
438 (setq user-fontsize-table
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
439 (cons (list fontsize-name) user-fontsize-table)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
440 YaTeX-user-table-modified t))
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
441 (if arg
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
442 (save-excursion
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
443 (if (> (point) (mark)) (exchange-point-and-mark))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
444 (insert "{\\" fontsize-name " ")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
445 (exchange-point-and-mark)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
446 (insert "}"))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
447 (insert "{\\" fontsize-name " }")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
448 (forward-char -1)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
449 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
450
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
451 (defun YaTeX-make-fontsize-region ()
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
452 "Call functino:YaTeX-make-fontsize with ARG to specify region mode."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
453 (interactive)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
454 (YaTeX-make-fontsize t)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
455 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
456
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
457 (defun YaTeX-make-singlecmd (single)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
458 (interactive
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
459 (list (completing-read
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
460 (format "\\??? (default %s): " single-command)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
461 (append user-singlecmd-table singlecmd-table)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
462 nil nil )))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
463 (if (string= single "")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
464 (setq single single-command))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
465 (setq single-command single)
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
466 (if (not (assoc single-command
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
467 (append user-singlecmd-table singlecmd-table)))
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
468 (setq user-singlecmd-table
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
469 (cons (list single-command) user-singlecmd-table)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
470 YaTeX-user-table-modified t))
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
471 (insert "\\" single-command " ")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
472 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
473
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
474 (defvar YaTeX-completion-begin-regexp "[{\\]"
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
475 "Regular expression of limit where LaTeX command's
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
476 completion begins.")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
477
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
478 (defun YaTeX-do-completion ()
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
479 "Try completion on LaTeX command preceding point."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
480 (interactive)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
481 (if
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
482 (or (eq (preceding-char) ? )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
483 (eq (preceding-char) ?\t)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
484 (eq (preceding-char) ?\n)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
485 (bobp))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
486 (message "Nothing to complete.") ;Do not complete
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
487 (let* ((end (point))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
488 (limit (save-excursion (beginning-of-line) (point)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
489 (completion-begin
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
490 (progn (re-search-backward "[ \t\n]" limit 1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
491 (point)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
492 (begin (progn
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
493 (goto-char end)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
494 (if (re-search-backward YaTeX-completion-begin-regexp
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
495 completion-begin t)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
496 (1+ (point))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
497 nil))))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
498 (goto-char end)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
499 (cond
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
500 ((null begin)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
501 (message "I think it is not LaTeX sequence."))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
502 (t
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
503 (let* ((pattern (buffer-substring begin end))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
504 (all-table (append section-table user-section-table
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
505 article-table user-article-table
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
506 env-table user-env-table
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
507 singlecmd-table user-singlecmd-table))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
508 ;; First,
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
509 ;; search completion without backslash.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
510 (completion (try-completion pattern all-table nil)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
511 (if
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
512 (eq completion nil)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
513 ;; Next,
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
514 ;; search completion with backslash
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
515 (setq completion
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
516 (try-completion (buffer-substring (1- begin) end)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
517 all-table nil)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
518 begin (1- begin)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
519 (cond
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
520 ((null completion)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
521 (message (concat "Can't find completion for '" pattern "'"))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
522 (ding))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
523 ((eq completion t) (message "Sole completion."))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
524 ((not (string= completion pattern))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
525 (kill-region begin end)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
526 (insert completion)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
527 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
528 (t
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
529 (message "Making completion list...")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
530 (with-output-to-temp-buffer "*Help*"
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
531 (display-completion-list
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
532 (all-completions pattern all-table))) )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
533 ))))))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
534 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
535
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
536 (defun YaTeX-insert-quote ()
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
537 (interactive)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
538 (insert
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
539 (cond
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
540 ((= (preceding-char) ?\\ ) ?\")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
541 ((= (preceding-char) ?\( ) ?\")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
542 ((= (preceding-char) 32) "``")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
543 ((= (preceding-char) 9) "``")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
544 ((= (preceding-char) ?\n) "``")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
545 ((bobp) "``")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
546 (t "''")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
547 )))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
548
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
549
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
550 (defun YaTeX-insert-braces-region (beg end)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
551 (interactive "r")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
552 (save-excursion
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
553 (goto-char end)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
554 (insert "}")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
555 (goto-char beg)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
556 (insert "{"))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
557 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
558
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
559 (defun YaTeX-insert-braces ()
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
560 (interactive)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
561 (insert "{}")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
562 (forward-char -1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
563 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
564
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
565 (defun YaTeX-insert-dollar ()
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
566 (interactive)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
567 (insert "$$")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
568 (forward-char -1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
569 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
570
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
571 (defun YaTeX-insert-string (s)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
572 (insert s)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
573 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
574
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
575 (defun YaTeX-version ()
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
576 "Return string of the version of running YaTeX."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
577 (interactive)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
578 (message
1
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
579 (concat "Yet Another TeX mode u–ì’¹v Revision "
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
580 YaTeX-revision-number))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
581 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
582
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
583 (defun YaTeX-typeset-sentinel (proc mes)
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
584 (cond ((null (buffer-name (process-buffer proc)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
585 ;; buffer killed
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
586 (set-process-buffer proc nil))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
587 ((memq (process-status proc) '(signal exit))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
588 (let* ((obuf (current-buffer)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
589 ;; save-excursion isn't the right thing if
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
590 ;; process-buffer is current-buffer
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
591 (unwind-protect
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
592 (progn
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
593 ;; Write something in *typesetting* and hack its mode line
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
594 (set-buffer (process-buffer proc))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
595 (goto-char (point-max))
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
596 (insert ?\n "jlatex typesetting " mes)
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
597 (forward-char -1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
598 (insert " at "
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
599 (substring (current-time-string) 0 -5))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
600 (insert "\n * Hit any key to return * ")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
601 (forward-char 1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
602 (setq mode-line-process
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
603 (concat ": "
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
604 (symbol-name (process-status proc))))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
605 ;; If buffer and mode line will show that the process
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
606 ;; is dead, we can delete it now. Otherwise it
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
607 ;; will stay around until M-x list-processes.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
608 (delete-process proc)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
609 )
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
610 (setq YaTeX-typesetting-process nil)
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
611 ;; Force mode line redisplay soon
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
612 (set-buffer-modified-p (buffer-modified-p))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
613 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
614 (set-buffer obuf)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
615 )))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
616 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
617
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
618 (defvar YaTeX-typesetting-process nil
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
619 "Process identifier for jlatex"
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
620 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
621
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
622 (defun YaTeX-typeset ()
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
623 "Execute jlatex (or other) to LaTeX typeset."
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
624 (interactive)
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
625 (if YaTeX-typesetting-process
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
626 (if (eq (process-status YaTeX-typesetting-process) 'run)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
627 (progn (interrupt-process YaTeX-typesetting-process)
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
628 (sit-for 1)
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
629 (delete-process YaTeX-typesetting-process))
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
630 nil) nil)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
631 ; (compile1 (concat tex-command " " (buffer-name))
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
632 ; "TeX error" "*TeX typesetting*")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
633 (setq YaTeX-typesetting-process nil)
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
634 (if (eq system-type 'ms-dos) ;if MS-DOS
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
635 (with-output-to-temp-buffer "*YaTeX-typesetting*"
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
636 (message (concat "Compiling " (buffer-name) "..."))
1
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
637 (YaTeX-put-nonstopmode)
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
638 (basic-save-buffer)
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
639 (call-process shell-file-name
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
640 nil
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
641 "*YaTeX-typesetting*" nil
1
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
642 "/c" (YaTeX-get-latex-command))
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
643 (YaTeX-remove-nonstopmode))
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
644 (setq YaTeX-typesetting-process ;if UNIX
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
645 (with-output-to-temp-buffer "*YaTeX-typesetting*"
1
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
646 (basic-save-buffer)
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
647 (start-process "LaTeX" "*YaTeX-typesetting*" shell-file-name "-c"
1
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
648 (YaTeX-get-latex-command))
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
649 ))
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
650 (set-process-sentinel YaTeX-typesetting-process 'YaTeX-typeset-sentinel))
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
651 (setq current-TeX-buffer (buffer-name))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
652 (other-window 1)
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
653 (use-local-map YaTeX-typesetting-mode-map)
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
654 (set-kanji-process-code YaTeX-kanji-code)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
655 (message "Type SPC to continue.")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
656 (goto-char (point-max))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
657 (sit-for 30)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
658 (read-char) ;hit any key
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
659 (if (not (= (window-start) (point-min)))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
660 (while (eq (point) (point-max))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
661 (scroll-down 1)))
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
662 (other-window -1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
663 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
664
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
665 (defun YaTeX-preview (preview-command preview-file)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
666 "Execute xdvi (or other) to tex-preview."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
667 (interactive
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
668 (list (read-string "Preview command: " dvi2-command)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
669 (read-string "Prefiew file[.dvi]: "
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
670 ;;(substring (buffer-name) 0 -4)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
671 (YaTeX-get-preview-file-name) ;ver 1.31
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
672 )))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
673 (setq dvi2-command preview-command)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
674 (with-output-to-temp-buffer "*dvi-preview*"
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
675 (if (eq system-type 'ms-dos)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
676 (progn (send-string-to-terminal "\e[2J") ;if MS-DOS
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
677 (call-process shell-file-name "con" "*dvi-preview*" nil
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
678 "/c " dvi2-command preview-file)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
679 (redraw-display))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
680 (start-process "xdvi" "*dvi-preview*" shell-file-name "-c"
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
681 (concat dvi2-command " " preview-file)) ;if UNIX
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
682 (message (concat "Starting " dvi2-command " to preview " preview-file)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
683 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
684 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
685
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
686 (defun YaTeX-prev-error ()
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
687 "Visit previous error. The reason why not NEXT-error is to
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
688 avoid make confliction of line numbers by editing."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
689 (interactive)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
690 (setq cur-buf (buffer-name)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
691 YaTeX-error-line nil)
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
692 (if (null (get-buffer "*YaTeX-typesetting*"))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
693 (message "There is no output buffer of typesetting.")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
694 (pop-to-buffer "*YaTeX-typesetting*")
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
695 (if (eq system-type 'ms-dos)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
696 (if (search-backward latex-dos-emergency-message nil t)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
697 (progn (goto-char (point-max))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
698 (setq error-regexp latex-error-regexp))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
699 (beginning-of-line)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
700 (forward-char -1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
701 (setq error-regexp latex-warning-regexp))
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
702 (if YaTeX-typesetting-process ; if jlatex on UNIX
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
703 (if (eq (process-status YaTeX-typesetting-process) 'run)
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
704 (progn
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
705 (goto-char (point-max))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
706 (setq error-regexp latex-error-regexp)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
707 (beginning-of-line)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
708 (setq error-regexp latex-warning-regexp)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
709 (if (re-search-backward error-regexp nil t)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
710 (save-restriction
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
711 (set-mark-command nil)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
712 (end-of-line)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
713 (narrow-to-region (point) (mark))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
714 (goto-char (point-min))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
715 (re-search-forward "[0-9]")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
716 (forward-char -1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
717 (set-mark (point))
1
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
718 (skip-chars-forward "0-9")
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
719 (narrow-to-region (point) (mark))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
720 (goto-char (point-min))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
721 (setq YaTeX-error-line (read (current-buffer))))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
722 (message "No more error on %s" cur-buf)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
723 (ding)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
724 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
725 (other-window -1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
726 (switch-to-buffer cur-buf)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
727 (if (null YaTeX-error-line)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
728 nil
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
729 (goto-line YaTeX-error-line)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
730 (message "latex error or warning at line: %d" YaTeX-error-line)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
731 (other-window 1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
732 (skip-chars-backward "[0-9]")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
733 (recenter (/ (window-height) 2))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
734 (sit-for 3)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
735 (forward-line -1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
736 (other-window -1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
737 ))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
738 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
739
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
740 (defun YaTeX-jump-error-line ()
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
741 "Jump corresponding line on latex command's error message."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
742 (interactive)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
743 (let ((end (progn (end-of-line) (point)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
744 (begin (progn (beginning-of-line)(point))))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
745 (if (null (re-search-forward "l[ ines]*\\.*[1-9][0-9]*" end t))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
746 (message "No line number expression")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
747 (goto-char (match-beginning 0))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
748 (re-search-forward "[1-9][0-9]*" end t)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
749 (save-restriction
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
750 (narrow-to-region (match-beginning 0) (match-end 0))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
751 (goto-char (point-min))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
752 (let ((error-line (read (current-buffer))))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
753 (other-window -1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
754 (switch-to-buffer current-TeX-buffer)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
755 (goto-line error-line)))))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
756 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
757
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
758 (defun YaTeX-view-error ()
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
759 (interactive)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
760 (other-window 1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
761 (goto-char (point-max))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
762 (other-window -1)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
763 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
764
1
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
765 (defun YaTeX-put-nonstopmode ()
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
766 (if (boundp 'YaTeX-need-nonstop)
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
767 (if (re-search-backward "\\nonstopmode{}" (point-min) t)
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
768 nil ;if already written in text then do nothing
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
769 (save-excursion
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
770 (goto-char (point-min))
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
771 (insert "\\nonstopmode{}%_YaTeX_%\n")))
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
772 )
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
773 )
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
774
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
775 (defun YaTeX-remove-nonstopmode ()
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
776 (if (boundp 'YaTeX-need-nonstop) ;for speed
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
777 (save-excursion
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
778 (goto-char (point-min))
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
779 (forward-line 1)
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
780 (narrow-to-region (point-min) (point))
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
781 (goto-char (point-min))
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
782 (delete-matching-lines "^\\\\nonstopmode\\{\\}%_YaTeX_%$")
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
783 (widen)))
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
784 )
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
785
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
786 (defun YaTeX-typeset-menu ()
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
787 "Typeset, preview, visit error and miscellaneous convinient menu."
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
788 (interactive)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
789 (message "J)latex P)review V)iewerror")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
790 (let ((c (read-char)))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
791 (cond
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
792 ((= c ?j) (YaTeX-typeset))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
793 ((= c ?p) (call-interactively 'YaTeX-preview))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
794 ((= c ?v) (YaTeX-view-error))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
795 ((= c ?b) (YaTeX-insert-string "\\"))))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
796 )
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
797
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
798 (defun YaTeX-get-preview-file-name ()
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
799 "Get file name to preview by inquiring YaTeX-get-latex-command"
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
800 (let* ((latex-cmd (YaTeX-get-latex-command))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
801 (fname (substring latex-cmd (1+ (rindex latex-cmd ? ))))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
802 (period))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
803 (if (eq fname "")
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
804 (setq fname (substring (buffer-name) 0 -4))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
805 (setq period (rindex fname ?.))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
806 (setq fname (substring fname 0 (if (eq -1 period) nil period)))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
807 ))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
808 )
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
809
1
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
810 (defun YaTeX-get-latex-command ()
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
811 "Specify the latex-command name and its argument.
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
812 If there is a line which begins by string: \"%#!\", the following
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
813 strings are assumed to be the latex-command and arguments. The
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
814 default value of latex-command is:
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
815 tex-command (buffer-name)
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
816 and if you write \"%#!jlatex\" in the beginning of certain line.
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
817 \"jlatex \" (buffer-name)
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
818 will be the latex-command,
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
819 and you write \"%#!jlatex main.tex\"
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
820 \"jlatex main.tex\"
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
821 will be given to the shell."
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
822 (let*
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
823 ((default-command
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
824 (concat tex-command " " (buffer-name)))) ;default value
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
825 (save-excursion
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
826 (goto-char (point-min))
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
827 (if (null (re-search-forward "^%#!" (point-max) t))
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
828 default-command
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
829 (skip-chars-forward "%#! ")
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
830 (if (eolp)1z
1
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
831 default-command
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
832 (let ((s (point)))
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
833 (skip-chars-forward "A-z") ;Skip command name
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
834 ;(setq YaTeX-latex-command (buffer-substring s (point)))
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
835 (if (eolp) ;Only change command name
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
836 (concat (buffer-substring s (point)) " " (buffer-name))
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
837 (end-of-line) ;Change entire command name
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
838 (buffer-substring s (point)) ;including arguments.
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
839 ))
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
840 ))))
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
841 )
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
842
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
843 (defun YaTeX-goto-corresponding-environment ()
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
844 "Go to corresponding begin/end enclosure."
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
845 (interactive)
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
846 (if (not (YaTeX-on-begin-end-p))
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
847 (error "No environment declaration"))
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
848 (let ((p (match-end 0) env)
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
849 (m0 (match-beginning 0))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
850 (m1 (match-beginning 1))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
851 (m2 (match-beginning 2)))
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
852 (if (not
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
853 (save-excursion
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
854 (goto-char p)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
855 (search-forward "}" (point-end-of-line) t)))
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
856 (error "Unterminated brackets for begin/end"))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
857 (setq env (buffer-substring p (match-beginning 0))) ;get current env
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
858 (cond
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
859 ((equal m0 m1) ;if begin{xxx}
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
860 (search-forward (concat "end{" env "}")))
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
861 ((equal m0 m2) ;if end{xxx}
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
862 (search-backward (concat "begin{" env "}")))
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
863 )
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
864 (beginning-of-line)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
865 );let
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
866 )
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
867
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
868 (defun YaTeX-comment-region ()
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
869 "Comment out region by '%'. If you call this function on the 'begin{}' or
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
870 'end{}' line, it comments out whole environment"
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
871 (interactive)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
872 (if (not (YaTeX-on-begin-end-p))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
873 (comment-region YaTeX-comment-prefix)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
874 (YaTeX-comment-uncomment-env 'comment-region))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
875 )
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
876
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
877 (defun YaTeX-uncomment-region ()
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
878 "Uncomment out region by '%'."
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
879 (interactive)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
880 (if (not (YaTeX-on-begin-end-p))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
881 (uncomment-region YaTeX-comment-prefix)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
882 (YaTeX-comment-uncomment-env 'uncomment-region))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
883 )
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
884
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
885 (defun YaTeX-comment-uncomment-env (func)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
886 "Comment or uncomment out one LaTeX environment switching function by FUNC."
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
887 (save-excursion
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
888 (if (eq (match-beginning 0) (match-beginning 2)) ; if on the '\end{}' line
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
889 (YaTeX-goto-corresponding-environment)) ; goto '\begin{}' line
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
890 (beginning-of-line)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
891 (push-mark)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
892 (YaTeX-goto-corresponding-environment)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
893 (forward-line 1)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
894 (funcall func YaTeX-comment-prefix t) ; t makes uncomment once
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
895 (pop-mark)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
896 )
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
897 )
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
898
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
899 (defun YaTeX-mark-environment ()
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
900 "Not implemented yet."
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
901 )
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
902
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
903 (defun YaTeX-on-begin-end-p ()
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
904 (save-excursion
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
905 (beginning-of-line)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
906 (re-search-forward "\\(begin{\\)\\|\\(end{\\)" (point-end-of-line) t))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
907 )
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
908
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
909 (defun YaTeX-comment-paragraph ()
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
910 "Comment out current paragraph."
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
911 (interactive)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
912 (save-excursion
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
913 (if (YaTeX-on-begin-end-p)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
914 (progn
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
915 (beginning-of-line)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
916 (insert YaTeX-comment-prefix)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
917 (YaTeX-goto-corresponding-environment)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
918 (beginning-of-line)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
919 (insert YaTeX-comment-prefix))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
920 (mark-paragraph)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
921 (if (not (bobp)) (forward-line 1))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
922 (comment-region "%")))
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
923 )
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
924
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
925 (defun YaTeX-uncomment-paragraph ()
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
926 "Uncomment current paragraph."
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
927 (interactive)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
928 (save-excursion
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
929 (if (YaTeX-on-begin-end-p)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
930 (progn
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
931 (YaTeX-remove-prefix YaTeX-comment-prefix t)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
932 (YaTeX-goto-corresponding-environment)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
933 (YaTeX-remove-prefix YaTeX-comment-prefix t))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
934 (let ((prefix fill-prefix))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
935 (setq fill-prefix "")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
936 (mark-paragraph)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
937 (if (not (bobp)) (forward-line 1))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
938 (uncomment-region "%")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
939 (setq fill-prefix prefix))))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
940 )
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
941
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
942 (defun YaTeX-remove-prefix (prefix &optional once)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
943 "Remove prefix on current line so far as prefix detected. But
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
944 optional argument ONCE makes deletion once."
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
945 (interactive "sPrefix:")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
946 (beginning-of-line)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
947 (while (re-search-forward (concat "^" prefix) (point-end-of-line) t)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
948 (replace-match "")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
949 (if once (end-of-line)))
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
950 )
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
951
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
952 (defun YaTeX-read-user-completion-table ()
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
953 "Append user completion table of LaTeX word"
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
954 (message "Loading personal completion table")
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
955 (let ((user-table (expand-file-name YaTeX-user-completion-table)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
956 (if (file-exists-p user-table)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
957 (load-file user-table)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
958 (message "Personal completion table not found."))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
959 ))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
960
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
961 (defun YaTeX-save-table ()
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
962 "Save personal completion table as dictionary."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
963 (interactive)
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
964 (if (not YaTeX-user-table-modified)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
965 nil
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
966 (message "Saving user table in %s" YaTeX-user-completion-table)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
967 (find-file (expand-file-name YaTeX-user-completion-table))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
968 (erase-buffer)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
969 ;; (prin1-to-string user-section-table)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
970 (insert "(setq user-section-table '(\n")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
971 (mapcar '(lambda (s)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
972 (insert (prin1-to-string s))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
973 (insert "\n"))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
974 user-section-table)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
975 (insert "))\n\n")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
976
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
977 (insert "(setq user-article-table '(\n")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
978 (mapcar '(lambda (s)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
979 (insert (prin1-to-string s))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
980 (insert "\n"))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
981 user-article-table)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
982 (insert "))\n\n")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
983
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
984 (insert "(setq user-env-table '(\n")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
985 (mapcar '(lambda (s)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
986 (insert (prin1-to-string s))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
987 (insert "\n"))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
988 user-env-table)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
989 (insert "))\n\n")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
990
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
991 (insert "(setq user-fontsize-table '(\n")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
992 (mapcar '(lambda (s)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
993 (insert (prin1-to-string s))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
994 (insert "\n"))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
995 user-fontsize-table)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
996 (insert "))\n\n")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
997
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
998 (insert "(setq user-singlecmd-table '(\n")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
999 (mapcar '(lambda (s)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1000 (insert (prin1-to-string s))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1001 (insert "\n"))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1002 user-singlecmd-table)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1003 (insert "))\n")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1004
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1005 (basic-save-buffer)
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1006 (kill-buffer (current-buffer))
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1007 (message "")
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1008 (setq YaTeX-user-table-modified nil))
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1009 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1010
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1011 ;; --------------- General sub functions ---------------
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1012
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1013 ;(defun index (string char)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1014 ; (let ((pos 0)(len (1- (length string)))(index -1))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1015 ; (while (<= pos len)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1016 ; (cond
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1017 ; ((= (aref string pos) char)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1018 ; (setq index pos) (setq pos len))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1019 ; (t (setq pos (1+ pos))))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1020 ; )
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1021 ; index)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1022 ;)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1023
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1024 (defun rindex (string char)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1025 (let ((pos (1- (length string)))(index -1))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1026 (while (>= pos 0)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1027 (cond
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1028 ((= (aref string pos) char)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1029 (setq index pos) (setq pos -1))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1030 (t (setq pos (1- pos))))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1031 )
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1032 index)
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1033 )
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1034
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1035 (defun point-beginning-of-line ()
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1036 (save-excursion (beginning-of-line)(point))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1037 )
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1038
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1039 (defun point-end-of-line ()
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1040 (save-excursion (end-of-line)(point))
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1041 )
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1042
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1043 (defun append-to-hook (hook hook-list)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1044 "Add hook-list to certain emacs's hook correctly.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1045 Argument hook-list is the list of function int the form to be called
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1046 Call this function with argument as next example,
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1047 (append-to-hook '((ding))) ;If one function to add.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1048 (append-to-hook '((func1)(func2 arg)))."
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1049 (if (null (eval hook)) ;Not defined
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1050 (set hook
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1051 (append '(lambda ()) hook-list))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1052 (if (listp (eval hook))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1053 (if (eq (car (eval hook)) 'lambda) ;'(lambda () ....)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1054 (set hook
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1055 (append (eval hook) hook-list))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1056 (if (eq hook 'kill-emacs-hook) ;'(hook1 hook2 ...)
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1057 (progn ; this format is not
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1058 (ding) ; for kill-emacs-hook
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1059 (message
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1060 "Caution!! you have wrong format of kill-emacs-hook"))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1061 (while (not (null hook-list))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1062 (set hook
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1063 (append (eval hook) (car hook-list)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1064 (setq hook-list (cdr hook-list))))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1065 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1066 (set hook ;'hook
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1067 (append '(lambda ())
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1068 (cons (list (eval hook)) hook-list)))))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1069 )
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1070 (append-to-hook 'kill-emacs-hook '((YaTeX-save-table)))
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1071
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1072 ;--------------------------------- History ---------------------------------
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1073 ; Rev. | Date | Contents
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1074 ;------+----------+---------------------------------------------------------
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1075 ; 1.00 | 91/ 6/13 | Initial version.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1076 ; | | Auto compilation & preview.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1077 ; | | \section{}-type and \begin{}\end{}-type completion.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1078 ; 1.01 | 91/ 6/14 | Add {\large ..} type completion (prefix+l).
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1079 ; 1.10 | 6/21 | Add learning feature of completion.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1080 ; 1.11 | 6/27 | Simplify function begin-document etc. using lambda.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1081 ; 1.12 | 7/ 6 | Modify YaTeX-make-section, show section-name.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1082 ; 1.13 | 12/ 4 | Delete blank lines in make begin/end environment.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1083 ; 1.20 | 12/ 5 | Saving learned completion into user file.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1084 ; 1.21 | 12/ 6 | Add \maketitle type completion (prefix+m).
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1085 ; 1.22 | 12/30 | Port yatex.el to DOS(Demacs).
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1086 ; 1.23 | 92/ 1/ 8 | Enable latex and preview command on DOS.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1087 ; 1.24 | 1/ 9 | Add YaTeX-save-table to kill-emacs-hook automatically.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1088 ; 1.25 | 1/16 | YaTeX-do-completion (prefix+SPC) and argument
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1089 ; | | acceptable YaTeX-make-section works. Put region into
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1090 ; | | \begin...\end by calling YaTeX-make-begin-end with ARG.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1091 ; | | append-kill-emacs-hook was revised to append-to-hook.
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1092 ; 1.26 | 1/18 | Region mode is added to {\large }. Default fontsize.
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1093 ; 1.27 | 1/21 | Default name on completing-read.
1
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
1094 ; 1.28 | 7/ 2 | Add \nonstopmode{} automatically on DOS.
912f6e258cba Support %#! usage to specify latex command.
yuuji
parents: 0
diff changeset
1095 ; | 7/20 | %#! usage to specify latex command and its arguments.
3
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1096 ; | | Change default fill-prefix from TAB to null string.
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1097 ; 1.29 | 7/21 | Add YaTeX-end-environment.
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1098 ; 1.30 | 9/26 | Support project 30 lines(other than 25 lines).
191610912c8b Add comment out region/paragraph.
yuuji
parents: 1
diff changeset
1099 ; 1.31 | 10/28 | Variable argument for previewer from %#! usage.
4
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1100 ; 1.32 | 11/16 | YaTeX-goto-corresponding-environment.
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1101 ; | | Comment out region/paragraph added.
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1102 ; 1.33 | 11/29 | Variable default value, on DOS and other OS.
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1103 ; | | make dvi2-command buffer local. Change the behavior of
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1104 ; | | comment out region/paragraph on the \begin{} or \end{}
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1105 ; | | line. Make faster YaTeX-end-environment. Add YaTeX-
78dfe28b6a35 Provide service function to define begin/end insert key-bind.
yuuji
parents: 3
diff changeset
1106 ; | | define-key, YaTeX-define-begend-(region-)key.
0
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1107 ;------+----------+---------------------------------------------------------
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1108 ;
9c72144baf95 First releas version (at ftp.ae).
yuuji
parents:
diff changeset
1109 ;----------------------------- End of yatex.el -----------------------------

yatex.org