Article View: fj.editor.emacs
Article #424Re: Yet Another LaTeX mode.
From: Hirose Yuuji
Date: Mon, 22 Feb 1993 15:53
Date: Mon, 22 Feb 1993 15:53
1120 lines
41988 bytes
41988 bytes
$@9-@%(J@$@7D1~$G$9!#(J
($@855-;v$O%-%c%s%;%k$7$^$7$?(J)
>>>>> $@$o$?$7$N$+$$$?(J$@!"(J<YUUJI.93Feb16020958@avenir.ae.keio.ac.jp>$@$h$j(J,
yuuji> cmutex $@JB$K>.$5$$(J AUC TeX $@;X8~$N(J LaTeX $@%b!<(J$@%I$r=q$$$F;H$C$F$$$k$N(J
yuuji> $@$G%]%9%H$7$^$9!#(J
$@?=$7Lu$"$j$^$;$s!"C1=c$J%_%9$G!"(Jbyte-compile $@$G$-$J(J$@$$(J($@$G$-$F$b8mF0:n$9$k(J)
$@$H$$$&IT6q9g$,$"$j$^$7$?!#$3$l$rD>$9$D$$$G$K!"(J
$@!&$=$NF|!"$"$k$$$O!"$=$N%G%#%l(J$@%/%H%j$G$N$_M-8z$J(J
$@%F%s%]%i%j<-=q$N:NMQ(J($@?7=PC18l$NEPO?;~$K<-=q$rA*$Y$k(J)$@!#(J
$@!&(Jsection$@7?Jd40$N0z?t$N(J$@?t$r5-21$7!"$3$l$b3X=,$9$k$h$&$K$7$?!#(J
(ex. addtolength $@$J$i(J2$@8D(J)
$@!&(Jincludeonly$@%j%9%H$G!"Fs$DL\0J9_(J$@$K5-=R$7$F$"$k%U%!%$%k$X$b(J
$@%8%c%s%W$G$-$k$h$&$K$7$?!#(J
$@$J$I$N5!G=$rB-$7$^$7$?!#(J
# $@85$N5!G=$rCN$i$J(J$@$$?M$K$H$C$F$O0UL#ITL@$NJ8>O$@$J$!!D(J
$@A0$N%P!<%8%g%s$N$"$k%G%#%l%/%H%j$G!"(J
% patch -p1 < $@$3$N5-;v(J
$@$7$F2<$5$$!#(J
# byte-compile $@$C$FIaCJ!"$7$J$$$s$G$9!D(J
--
/-----------------------------------------------------\
| $@9-@%M:Fs(J@$@7DXfBg3XM}9)3X8&5f2J4IM}9)3X@l96Bg6p8&5f<<(J |
| yuuji@ae.keio.ac.jp Phone.045-563-1151($@Fb@~(J3678) |
\-----------------------------------------------------/
------------------------------ cut here ------------------------------
diff -cNa yatex-1.37/yatex.doc yatex-1.38/yatex.doc
*** yatex-1.37/yatex.doc Fri Feb 12 16:51:58 1993
--- yatex-1.38/yatex.doc Mon Feb 22 17:17:12 1993
***************
*** 213,220 ****
$@$?$?$/$H!"0lCW$9$k4D6-L>(J$@$,FbIt%F!<%V%k$KB8:_$7$?>l9g!"@5$7$$4D6-L>(J
$@$KJd40$5$l$k$N$G!"F~NO$N<j4V$,>J$1$^$9!#FbIt%F!<%V%k$KB8(J$@:_$7$J$$4D(J
$@6-L>$rF~NO$7$?;~$O%f!<%6@lMQ$N%F!<%V%k$KEPO?$5$l!"$5$i$K$=$N%F!<%V(J
! $@%k$r<+F0E*$K!"%f!<(J$@%6$N3X=,%U%!%$%k(J($@%G%U%)%k%H$G$O(J ~/.yatexrc)$@$KJ](J
! $@B8$7$^$9!#(J
$@$H$3$m$G!":G=i$K=q$$$F$7$^$C$?%V(J$@%m%C%/$r8e$+$i!"(Jitemize $@4D6-$NCf(J
$@$KJD$8$3$a$?$$$H;W$&$3$H$,$"$j$^$9$,!"$=$N$h$&$J$H$-$O!"$"$i$+$8$a(J
--- 213,219 ----
$@$?$?$/$H!"0lCW$9$k4D6-L>$,FbIt%F!<%V%k$KB8:_$7$?>l9g!"@5$7$$4D6-L>(J
$@$KJd40$5$l(J$@$k$N$G!"F~NO$N<j4V$,>J$1$^$9!#FbIt%F!<%V%k$KB8:_$7$J$$4D(J
$@6-L>$rF~NO$7$?;~$O%f!<%6@lMQ$N%F!<%V%k$KEP(J$@O?$5$l!"$5$i$K$=$N%F!<%V(J
! $@%k$r<+F0E*$K!"%f!<%6<-=q(J($@%G%U%)%k%H$G$O(J ~/.yatexrc)$@$KJ]B8$7$^$9!#(J
$@$H$3$m$G!":G=i$K=q$$$F$7$^$C$?%V%m%C%/$r8e$+$i!"(Jitemize $@4D6-$NCf(J
$@$KJD$8$3$a$?$$$H;W$&$3$H$,$"$j$^(J$@$9$,!"$=$N$h$&$J$H$-$O!"$"$i$+$8$a(J
***************
*** 439,444 ****
--- 438,478 ----
NTT jTeX $@$r;H(J$@MQ$7$F$$$k>l9g$K$O!"(JLisp $@JQ?t(J NTT-jTeX $@$r(J t $@$K%;%C%H(J
$@$7$F2<$5$$!#(J
+ $@$3$N$H$-!"JQ?t(J YaTeX-item-regexp $@$NCM(J($@I8=`$G$O(J "\\\\item")$@$r9`L\(J
+ $@;XDj%3%^%s%I$N@55,I=8=$H$7$F8!:w$K;HMQ$7$^$9!#(Jitemize$@4D6-(J$@$G!"FH<+(J
+ $@$N%3%^%s%I$rDj5A$7$F9`L\$rNs5s$7$F$$$k>l9g(J($@Nc$($P(J \underlineitem)
+ $@$O!"(J~/.emacs $@$G<!$N(J$@$h$&$K;XDj$7$F2<$5$$!#(J
+
+ (setq YaTeX-item-regexp
+ "\\(\\\\item\\)\\|\\(\\\\underlineitem\\)")
+
+ $@$3$NJQ?t$N;XDj$N;EJ}$,$h$/J,$+$i$J$$>l9g$O!"FH<+$N9`L\Ns5s%3%^%s(J
+ $@%I$NL>A0$r(J "\item" $@$G;O$^$k$b$N$K$7$F2<$5$$(J($@Nc$($P(J "\itembf")$@!#(J
+
+
+ $@!Z?@7P<A$J?M$X![(J
+
+ $@Jd40F~NO$G4V0c$C$?C18l(J$@$rF~$l$F$7$^$$!"(J.yatexrc $@$KJQ$JC18l$,5-O?(J
+ $@$5$l$k$N$,5$$K$J$C$F$7$^$C$F!"$b$O$dJT=8$K=8Cf$G$-$J$$$"(J$@$J$?!#3X=,(J
+ $@$5$;$?%3%^%s%I$O!":#=q$$$F$$$kJ8=qCf$GDj5A$7$F$$$k%m!<%+%k$J$b$N$J(J
+ $@$N$G!"$d$O$jI8=`$N(J .yatexrc $@$K$OJ]B8$7$FM_$7$/$J$$$H!";W$C$?$3$H$N(J
+ $@$"$k$"$J$?!#$=$s$J$"$J$?$O!"(J~/.emacs $@$K<!$N0l9T$r(J$@B-$7$F$/$@$5$$!#(J
+
+ (setq YaTeX-nervous t)
+
+ $@DL>o$N!"(Jyatex.el $@$KAH$_9~$^$l$?!VI8=`<-=q!W$H(J.yatexrc $@$KJ]B8$5$l(J
+ $@$k!V%f!<%6<-=q!W$K2C$(!"!V%F%s%]%i%j<-=q!W$,;H$($k$h$&$K$J$j$^$9!#(J
+ $@Jd40%F!<%V(J$@%k$K$J$$C18l$rF~$l$?;~$K!"%f!<%6<-=q(J .yatexrc $@$KJ]B8$9$k(J
+ $@$+(J(UserDic)$@!"$=$NF|$@$1M-8z$J%F%s%]%i%j<-(J$@=q$KJ]B8$9$k$+(J(TempDic)$@!"(J
+ $@3P$($:$K<N$F$k(J(None)$@$+$,A*$Y$k$h$&$K$J$j$^$9!#(J
+
+ $@$H$3$m$,!"B4O@$J$I(J$@$N$h$&$KD94|$KEO$C$F=q$/Bg$-$J$b$N$K$J$k$H!"$=(J
+ $@$NO@J8$GDj5A$7$F$$$k%m!<%+%k$J%3%^%s%I$G$"$C$F$b!V$=(J$@$NF|$@$1!W$G$O(J
+ $@$J$/!"$=$NO@J8$r=q$$$F$$$k4V$OJd40$7$F$b$i$$$?$$$b$N$G$9!#$=$s$J$H(J
+ $@$-$O!">e5-$NJQ(J$@?t(J YaTeX-nervous $@$r(J t $@$K%;%C%H$7$?$&$($G!"$=$NO@J8$r(J
+ $@CV$$$F$$$k%G%#%l%/%H%j$K(J .yatexrc($@%f!<%6<-=q$H(J$@F1$8L>A0$GCf?H$O6u(J)
+ $@$r:n$C$F$/$@$5$$!#$9$k$H!"%F%s%]%i%j<-=q$r$=$N%U%!%$%k$KJ]B8$9$k$h(J
+ $@$&$K$J$j(J$@$^$9!#(J
$@!Z%+%9%?%^%$%:![(J
***************
*** 473,478 ****
--- 507,514 ----
$@!&(JYaTeX-kanji-code $@J8=q$r:n@.$9$k;~$N4A;z%3!<%I(J
1=Shift JIS, 2=JIS, 3=EUC
(2 (MS-DOS$@$G$O(J1))
+ $@!&(JYaTeX-item-regexp item$@$N7eB7$($GMQ$$$k(Jitem$@$N@55,I=8=(J
+ ("\\\\item")
$@!&(Jtex-command latex$@%3%^%s%I(J$@L>(J ("jlatex")
$@!&(Jdvi2-command $@%W%l%t%e!<%"%3%^%s%IL>(J
("xdvi -geo +0+0 -s 4
***************
*** 528,543 ****
$@$rMxMQ$9$k$h$&$K$7$F$/$@$5$$!#(J
! $@!Z$*4j$$![(J
yatex-mode $@$NI8=`$N(J LaTeX $@%3%^%s%I$N<-=q$K$O!":n<T$,IQHK$K;H$&$b(J
! $@$N$7$+EPO?$5$l$F$$$^$;$s!#$3$l$OC1$K(J LaTeX $@%3%^%s%I$rLV(J$@Me$9$k$N$,(J
! $@=EO+F/$@$+$i$K$9$.$^$;$s(J ^^;$@!#$b$7!"$?$/$^$7$$<-=q$r0i$F$?$J$i!"@'(J
! $@Hs:n<T$^$G$*Aw$j$/(J$@$@$5$$!#<!$N%P!<%8%g%s$K$O!"I8=`$N<-=q$K%^!<%8$7(J
! $@$F!"$h$j6/NO$J<-=q$,6!5k$G$-$k$3$H$H;W$$$^$9!#(J
! $@!Z$=$NB>![(J
$@K\%W%m%0%i%`$O%U%j!<%=%U%H%&%'%"$G$9!#K\%W%m%0%i%`$r;HMQ$7$F@8$8(J
$@$?$$$+$J(J$@$k7k2L$KBP$7$F$b:n<T$O@UG$$rIi$o$J$$$3$H$H$7$^$9!#E>:\Ey$K(J
--- 564,580 ----
$@$rMxMQ$9$k$h$&$K$7$F$/(J$@$@$5$$!#(J
! $@!Z$=$NB>![(J
yatex-mode $@$NI8=`$N(J LaTeX $@%3%^%s%I$N<-=q$K$O!":n<T$,IQHK$K;H$&$b(J
! $@$N$7$+EPO?$5$l$F$$$^$;$s!#$3$l$O!"Jd408uJd$K;H$$$=$&$b$J$$%3%^%s%I(J
! $@$,B8:_$7$F!"Jd40$7$?$$%3%^%s(J$@%I$r=P$9$^$G$N%9%H%m!<%/?t$rA}$d$7$F$7(J
! $@$^$&;v$rKI;_$9$k$?$a$G$9!#I8=`<-=q$K$J$$%3%^%s%I$b!"$G$-$k$@(J$@$1Jd40(J
! $@F~NOJ}<0$rMxMQ$7!"%f!<%6<-=q$r=<<B$5$;$k$3$H$G!"$"$J$?$N(J LaTeX $@%9(J
! $@%?%$%k$K$"$C$?LnD;$X$H(J$@0i$C$F$$$/$3$H$G$7$g$&!#(J
! $@!Z<h$j07$$![(J
$@K\%W%m%0%i%`$O%U%j!<%=%U%H%&%'%"$G$9!#K\%W%m%0%i(J$@%`$r;HMQ$7$F@8$8(J
$@$?$$$+$J$k7k2L$KBP$7$F$b:n<T$O@UG$$rIi$o$J$$$3$H$H$7$^$9!#E>:\Ey$K(J
diff -cNa yatex-1.37/yatex.el yatex-1.38/yatex.el
*** yatex-1.37/yatex.el Fri Feb 12 16:05:54 1993
--- yatex-1.38/yatex.el Tue Feb 23 00:36:25 1993
***************
*** 1,8 ****
;;; -*- Emacs-Lisp -*-
;;; Yet Another tex-mode for emacs.
! ;;; yatex.el rev.1.37
;;; (c)1991-1993 by HIROSE Yuuji.[yuuji@ae.keio.ac.jp]
! ;;; Last modified Fri Feb 12 16:05:54 1993 on VFR
;; This software is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY. No author or distributor
--- 1,8 ----
;;; -*- Emacs-Lisp -*-
;;; Yet Another tex-mode for emacs.
! ;;; yatex.el rev.1.38
;;; (c)1991-1993 by HIROSE Yuuji.[yuuji@ae.keio.ac.jp]
! ;;; Last modified Tue Feb 23 00:36:23 1993 on alto
;; This software is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY. No author or distributor
***************
*** 21,27 ****
(provide 'yatex)
(require 'comment)
! (defconst YaTeX-revision-number "1.37"
"Revision number of running yatex.el"
)
--- 21,27 ----
(provide 'yatex)
(require 'comment)
! (defconst YaTeX-revision-number "1.38"
"Revision number of running yatex.el"
)
***************
*** 123,151 ****
(defvar NTT-jTeX nil
"*Use NTT-jTeX for latex command."
)
;------------ Completion table ------------
; Set tex-section-like command possible completion
(setq section-table
'(("part") ("section") ("subsection") ("subsubsection")
("author") ("documentstyle") ("pagestyle")
("documentstyle[10pt]") ("documentstyle[11pt]")
("documentstyle[12pt]")
! ("title") ("chapter") ("part") ("paragraph")
! ("subparagraph") ("underline") ("label") ("footnote")
("hspace*") ("vspace*") ("bibliography") ("bibitem[]") ("cite[]")
! ("nocite") ("input") ("include") ("includeonly") ("mbox") ("hbox")
! ("caption") ("newcommand") ("setlength") ("addtolength")
! ("newenvironment") ("newtheorem")
("cline") ("framebox")
))
(defvar user-section-table nil)
; Set style possible completion
(setq article-table
'(("article") ("jarticle") ("report") ("jreport") ("jbook")
("4em") ("2ex")
! ("empty") ("headings") ("\\textwidth")
("\\oddsidemargin") ("\\evensidemargin")
("\\textheight") ("\\topmargin")
("\\bottommargin") ("\\footskip") ("\\footheight")
--- 123,163 ----
(defvar NTT-jTeX nil
"*Use NTT-jTeX for latex command."
)
+ (defvar YaTeX-item-regexp (regexp-quote "\\item")
+ "*Regular expression of item command."
+ )
+ (defvar YaTeX-nervous nil
+ "*If you are nervous about maintenance of yatexrc, set this value
+ T and you will have the local dictionary."
+ )
;------------ Completion table ------------
; Set tex-section-like command possible completion
(setq section-table
'(("part") ("section") ("subsection") ("subsubsection")
+ ("chapter") ("part") ("paragraph") ("subparagraph")
("author") ("documentstyle") ("pagestyle")
("documentstyle[10pt]") ("documentstyle[11pt]")
("documentstyle[12pt]")
! ("title") ("underline") ("label") ("footnote")
("hspace*") ("vspace*") ("bibliography") ("bibitem[]") ("cite[]")
! ("input") ("include") ("includeonly") ("mbox") ("hbox")
! ("caption") ("setlength" 2) ("addtolength" 2)
! ("newcommand" 2) ("renewcommand" 2)
! ("setcounter" 2) ("newenvironment" 3) ("newtheorem" 2)
("cline") ("framebox")
))
(defvar user-section-table nil)
+ (defvar tmp-section-table nil)
; Set style possible completion
(setq article-table
'(("article") ("jarticle") ("report") ("jreport") ("jbook")
("4em") ("2ex")
! ("empty") ("headings") ("myheadings") ("normal") ("plain")
! ("itemsep") ("labelwidth") ("listparindent") ("topsep")
! ("partopsep") ("leftmargin") ("intemindent") ("labelsep")
! ("rightmargin") ("\\textwidth")
("\\oddsidemargin") ("\\evensidemargin")
("\\textheight") ("\\topmargin")
("\\bottommargin") ("\\footskip") ("\\footheight")
***************
*** 158,168 ****
'(("quote") ("quotation") ("center") ("verse") ("document")
("verbatim") ("itemize") ("enumerate") ("description")
("list{}") ("tabular") ("table") ("tabbing") ("titlepage")
! ("sloppypar") ("ref") ("quotation") ("quote") ("picture")
("eqnarray") ("figure") ("equation") ("abstract") ("array")
("thebibliography") ("theindex") ("flushleft") ("flushright")
))
(defvar user-env-table nil)
; Set {\Large }-like comletion
(setq fontsize-table
--- 170,182 ----
'(("quote") ("quotation") ("center") ("verse") ("document")
("verbatim") ("itemize") ("enumerate") ("description")
("list{}") ("tabular") ("table") ("tabbing") ("titlepage")
! ("sloppypar") ("quotation") ("quote") ("picture")
("eqnarray") ("figure") ("equation") ("abstract") ("array")
("thebibliography") ("theindex") ("flushleft") ("flushright")
+ ("minipage")
))
(defvar user-env-table nil)
+ (defvar tmp-env-table nil)
; Set {\Large }-like comletion
(setq fontsize-table
***************
*** 172,177 ****
--- 186,192 ----
("large") ("Large") ("LARGE") ("huge") ("Huge")
))
(defvar user-fontsize-table nil)
+ (defvar tmp-fontsize-table nil)
(setq singlecmd-table
'(("maketitle") ("sloppy") ("protect")
***************
*** 186,191 ****
--- 201,207 ----
("pagebreak")
))
(defvar user-singlecmd-table nil)
+ (defvar tmp-singlecmd-table nil)
;---------- Key mode map ----------
;;;
***************
*** 261,266 ****
--- 277,284 ----
(YaTeX-define-begend-key "bD" "description")
(YaTeX-define-begend-region-key "Be" "enumerate")
(YaTeX-define-begend-key "be" "enumerate")
+ (YaTeX-define-begend-region-key "BE" "equation")
+ (YaTeX-define-begend-key "bE" "equation")
(YaTeX-define-begend-region-key "Bi" "itemize")
(YaTeX-define-begend-key "bi" "itemize")
(YaTeX-define-begend-region-key "Bt" "tabbing")
***************
*** 301,308 ****
'YaTeX-jump-error-line)
)
- ;---------- Customize as you like above ----------
-
;---------- Define other variable ----------
(defvar env-name "document") ;Initial tex-environment completion
(defvar section-name "documentstyle[12pt]") ;Initial tex-section completion
--- 319,324 ----
***************
*** 357,377 ****
(use-local-map YaTeX-mode-map)
(if (eq system-type 'ms-dos)
(setq YaTeX-saved-screen-height (screen-height)))
! (if YaTeX-user-table-has-read nil
! (YaTeX-read-user-completion-table)
! (setq YaTeX-user-table-has-read t))
(run-hooks 'text-mode-hook 'yatex-mode-hook)
)
- ;---------- Define macro ---------
- (defmacro point-beginning-of-line ()
- (save-excursion (beginning-of-line)(point))
- )
-
- (defmacro point-end-of-line ()
- (save-excursion (end-of-line)(point))
- )
-
;---------- Define YaTeX-mode functions ----------
;;;
;; YaTeX-mode functions
--- 373,382 ----
(use-local-map YaTeX-mode-map)
(if (eq system-type 'ms-dos)
(setq YaTeX-saved-screen-height (screen-height)))
! (YaTeX-read-user-completion-table)
(run-hooks 'text-mode-hook 'yatex-mode-hook)
)
;---------- Define YaTeX-mode functions ----------
;;;
;; YaTeX-mode functions
***************
*** 420,428 ****
(if (string= env "")
(setq env env-name))
(setq env-name env)
! (if (not (assoc env-name (append user-env-table env-table))) ;if not exist
! (setq user-env-table (cons (list env-name) user-env-table)
! YaTeX-user-table-modified t))
(YaTeX-insert-begin-end env-name arg))
)
--- 425,432 ----
(if (string= env "")
(setq env env-name))
(setq env-name env)
! (YaTeX-update-table
! (list env) 'env-table 'user-env-table 'tmp-env-table)
(YaTeX-insert-begin-end env-name arg))
)
***************
*** 494,526 ****
which has two arguments. You can produce that sequence by typing...
ESC 2 C-c s add SPC RET \\topm SPC RET 8mm RET
\(by default\)
! You can complete symbol at LaTeX command and 1st argument."
! (interactive "p")
(let*
((section
(completing-read
(format "\\???{} (default %s): " section-name)
! (append user-section-table section-table)
nil nil))
(section (if (string= section "") section-name section))
(title
(completing-read (concat "\\" section "{???}: ")
(append user-article-table article-table)
! nil nil)))
(setq section-name section)
- (if (not (assoc section-name (append user-section-table section-table)))
- (setq user-section-table
- (cons (list section-name) user-section-table)
- YaTeX-user-table-modified t))
(insert "\\" section-name "{" title "}")
(if YaTeX-current-position-register
(point-to-register YaTeX-current-position-register))
(let ((j 2))
! (while (<= j arg)
! (insert (concat "{" (read-string (format "Argument %d: " j))))
(insert "}")
(setq j (1+ j)))
)
(if (string= title "") (forward-char -1)
nil))
)
--- 498,539 ----
which has two arguments. You can produce that sequence by typing...
ESC 2 C-c s add SPC RET \\topm SPC RET 8mm RET
\(by default\)
! Then yatex will automatically completes `addtolength' with two arguments
! next time.
! You can complete symbol at LaTeX command and 1st argument."
! (interactive "P")
(let*
((section
(completing-read
(format "\\???{} (default %s): " section-name)
! (append tmp-section-table user-section-table section-table )
nil nil))
(section (if (string= section "") section-name section))
(title
(completing-read (concat "\\" section "{???}: ")
(append user-article-table article-table)
! nil nil))
! (numarg ;; The number of section-type command's argument
! (or arg
! (nth 1 (assoc section
! (append tmp-section-table user-section-table
! section-table)))
! 1)))
(setq section-name section)
(insert "\\" section-name "{" title "}")
(if YaTeX-current-position-register
(point-to-register YaTeX-current-position-register))
(let ((j 2))
! (while (<= j numarg)
! (insert
! (concat "{" (setq title (read-string (format "Argument %d: " j)))))
(insert "}")
(setq j (1+ j)))
)
+ (YaTeX-update-table
+ (if (> numarg 1) (list section-name numarg)
+ (list section-name))
+ 'section-table 'user-section-table 'tmp-section-table)
(if (string= title "") (forward-char -1)
nil))
)
***************
*** 541,555 ****
(fontsize
(completing-read
(format "{\\??? %s} (default %s): " mode fontsize-name)
! (append user-fontsize-table fontsize-table)
nil nil )))
(if (string= fontsize "")
(setq fontsize fontsize-name))
(setq fontsize-name fontsize)
! (if (not (assoc fontsize-name (append user-fontsize-table fontsize-table)))
! (setq user-fontsize-table
! (cons (list fontsize-name) user-fontsize-table)
! YaTeX-user-table-modified t))
(if arg
(save-excursion
(if (> (point) (mark)) (exchange-point-and-mark))
--- 554,567 ----
(fontsize
(completing-read
(format "{\\??? %s} (default %s): " mode fontsize-name)
! (append tmp-fontsize-table user-fontsize-table fontsize-table)
nil nil )))
(if (string= fontsize "")
(setq fontsize fontsize-name))
(setq fontsize-name fontsize)
! (YaTeX-update-table
! (list fontsize-name)
! 'fontsize-table 'user-fontsize-table 'tmp-fontsize-table)
(if arg
(save-excursion
(if (> (point) (mark)) (exchange-point-and-mark))
***************
*** 572,587 ****
(interactive
(list (completing-read
(format "\\??? (default %s): " single-command)
! (append user-singlecmd-table singlecmd-table)
nil nil )))
(if (string= single "")
(setq single single-command))
(setq single-command single)
! (if (not (assoc single-command
! (append user-singlecmd-table singlecmd-table)))
! (setq user-singlecmd-table
! (cons (list single-command) user-singlecmd-table)
! YaTeX-user-table-modified t))
(insert "\\" single-command " ")
(if YaTeX-current-position-register
(point-to-register YaTeX-current-position-register))
--- 584,597 ----
(interactive
(list (completing-read
(format "\\??? (default %s): " single-command)
! (append tmp-singlecmd-table user-singlecmd-table singlecmd-table)
nil nil )))
(if (string= single "")
(setq single single-command))
(setq single-command single)
! (YaTeX-update-table
! (list single-command)
! 'singlecmd-table 'user-singlecmd-table 'tmp-singlecmd-table)
(insert "\\" single-command " ")
(if YaTeX-current-position-register
(point-to-register YaTeX-current-position-register))
***************
*** 601,610 ****
(bobp))
(message "Nothing to complete.") ;Do not complete
(let* ((end (point))
! (limit (save-excursion (beginning-of-line) (point)))
(completion-begin
! (progn (re-search-backward "[ \t\n]" limit 1)
! (point)))
(begin (progn
(goto-char end)
(if (re-search-backward YaTeX-completion-begin-regexp
--- 611,619 ----
(bobp))
(message "Nothing to complete.") ;Do not complete
(let* ((end (point))
! (limit (point-beginning-of-line))
(completion-begin
! (progn (re-search-backward "[ \t\n]" limit 1) (point)))
(begin (progn
(goto-char end)
(if (re-search-backward YaTeX-completion-begin-regexp
***************
*** 616,629 ****
((null begin)
(message "I think it is not LaTeX sequence."))
(t
! (let* ((pattern (buffer-substring begin end))
! (all-table (append section-table user-section-table
! article-table user-article-table
! env-table user-env-table
! singlecmd-table user-singlecmd-table))
! ;; First,
! ;; search completion without backslash.
! (completion (try-completion pattern all-table nil)))
(if
(eq completion nil)
;; Next,
--- 625,640 ----
((null begin)
(message "I think it is not LaTeX sequence."))
(t
! (let*((pattern (buffer-substring begin end))
! (all-table
! (append
! section-table user-section-table tmp-section-table
! article-table user-article-table
! env-table user-env-table tmp-env-table
! singlecmd-table user-singlecmd-table tmp-singlecmd-table))
! ;; First,
! ;; search completion without backslash.
! (completion (try-completion pattern all-table)))
(if
(eq completion nil)
;; Next,
***************
*** 645,652 ****
(message "Making completion list...")
(with-output-to-temp-buffer "*Help*"
(display-completion-list
! (all-completions pattern all-table))) )
! ))))))
)
(defun YaTeX-insert-quote ()
--- 656,662 ----
(message "Making completion list...")
(with-output-to-temp-buffer "*Help*"
(display-completion-list
! (all-completions pattern all-table))))))))))
)
(defun YaTeX-insert-quote ()
***************
*** 743,750 ****
;; Force mode line redisplay soon
(set-buffer-modified-p (buffer-modified-p))
)
! (set-buffer obuf)
! )))
)
(defvar YaTeX-typesetting-process nil
--- 753,759 ----
;; Force mode line redisplay soon
(set-buffer-modified-p (buffer-modified-p))
)
! (set-buffer obuf))))
)
(defvar YaTeX-typesetting-process nil
***************
*** 756,767 ****
(defun YaTeX-typeset (command)
"Execute jlatex (or other) to LaTeX typeset."
(interactive)
! (if YaTeX-typesetting-process
! (if (eq (process-status YaTeX-typesetting-process) 'run)
! (progn (interrupt-process YaTeX-typesetting-process)
! ;(sit-for 1)
! (delete-process YaTeX-typesetting-process))
! nil) nil)
(setq YaTeX-typesetting-process nil)
(if (eq system-type 'ms-dos) ;if MS-DOS
(with-output-to-temp-buffer YaTeX-typeset-buffer
--- 765,775 ----
(defun YaTeX-typeset (command)
"Execute jlatex (or other) to LaTeX typeset."
(interactive)
! (if (and YaTeX-typesetting-process
! (eq (process-status YaTeX-typesetting-process) 'run))
! (progn (interrupt-process YaTeX-typesetting-process)
! ;;(sit-for 1)
! (delete-process YaTeX-typesetting-process)))
(setq YaTeX-typesetting-process nil)
(if (eq system-type 'ms-dos) ;if MS-DOS
(with-output-to-temp-buffer YaTeX-typeset-buffer
***************
*** 865,872 ****
((b (progn (skip-chars-forward "^{") (point)))
(e (progn (skip-chars-forward "^}") (1+ (point))))
(s (buffer-substring b e)) c)
! (if (string-match (concat "[{,]" me "[,}]") s)
! nil
(ding)
(message
"File:`%s' is not in includeonly list. A)ppend R)eplace %%)comment? " me)
--- 873,880 ----
((b (progn (skip-chars-forward "^{") (point)))
(e (progn (skip-chars-forward "^}") (1+ (point))))
(s (buffer-substring b e)) c)
! (if (string-match (concat "[{,/]" me "[,}]") s)
! nil ; Nothing to do when it's already in includeonly.
(ding)
(message
"File:`%s' is not in includeonly list. A)ppend R)eplace %%)comment? " me)
***************
*** 1141,1151 ****
"Visit or switch buffer of corresponding file, looking at \\input or
\\include or \includeonly on current line."
(if (not (YaTeX-on-includes-p)) nil
! (beginning-of-line)
! (skip-chars-forward "^{")
(let ((input-file
(concat
! (buffer-substring (1+ (point))
(progn (skip-chars-forward "^ ,}") (point)))
".tex")))
(YaTeX-switch-to-buffer input-file)
--- 1149,1160 ----
"Visit or switch buffer of corresponding file, looking at \\input or
\\include or \includeonly on current line."
(if (not (YaTeX-on-includes-p)) nil
! (if (search-forward "{" (point-end-of-line) t)
! nil
! (skip-chars-backward "-A-z_"))
(let ((input-file
(concat
! (buffer-substring (point)
(progn (skip-chars-forward "^ ,}") (point)))
".tex")))
(YaTeX-switch-to-buffer input-file)
***************
*** 1187,1193 ****
nil))
)
! (defmacro YaTeX-main-file-p ()
"Return if current buffer is main LaTeX source."
(string-match (concat "^" (YaTeX-get-preview-file-name) ".tex")(buffer-name))
)
--- 1196,1202 ----
nil))
)
! (defun YaTeX-main-file-p ()
"Return if current buffer is main LaTeX source."
(string-match (concat "^" (YaTeX-get-preview-file-name) ".tex")(buffer-name))
)
***************
*** 1216,1221 ****
--- 1225,1231 ----
(re-search-forward
"\\(\\\\begin{\\)\\|\\(\\\\end{\\)" (point-end-of-line) t))
)
+
(defun YaTeX-on-includes-p ()
(save-excursion
(beginning-of-line)
***************
*** 1222,1227 ****
--- 1232,1238 ----
(re-search-forward "\\(\\(include.*\\)\\|\\(input\\)\\){.*}"
(point-end-of-line) t))
)
+
(defun YaTeX-on-BEGIN-END-p ()
(save-excursion
(let ((case-fold-sea nil))
***************
*** 1228,1233 ****
--- 1239,1245 ----
(beginning-of-line)
(re-search-forward "\\(%#BEGIN\\)\\|\\(%#END\\)" (point-end-of-line) t)))
)
+
(defun YaTeX-goto-corresponding-* ()
"Parse current line and call suitable function."
(interactive)
***************
*** 1340,1350 ****
(defun YaTeX-read-environment (prompt)
"Read the LaTeX environment name with completion."
(let ((env
! (completing-read prompt (append user-env-table env-table) nil nil)))
! (if (not (assoc env (append user-env-table env-table)))
! (setq user-env-table (cons (list env) user-env-table)
! YaTeX-user-table-modified t))
! env)
)
(defun YaTeX-change-environment ()
--- 1352,1360 ----
(defun YaTeX-read-environment (prompt)
"Read the LaTeX environment name with completion."
(let ((env
! (completing-read
! prompt (append tmp-env-table user-env-table env-table) nil nil)))
! env)
)
(defun YaTeX-change-environment ()
***************
*** 1437,1446 ****
(let* ((p (point))
(bndry (prog2 (search-backward "\\begin{" nil t) (point)
(goto-char p)))
! (item-term "\\(^$\\)\\|\\(\\\\item\\)\\|\\(\\\\end\\)")
fill-prefix start s2 col)
(end-of-line)
! (if (not (re-search-backward "\\\\item" bndry t))
(error "\\item not found."))
(skip-chars-forward "^ " (point-end-of-line))
(skip-chars-forward " " (point-end-of-line))
--- 1447,1457 ----
(let* ((p (point))
(bndry (prog2 (search-backward "\\begin{" nil t) (point)
(goto-char p)))
! (item-term (concat
! "\\(^$\\)\\|" YaTeX-item-regexp "\\|\\(\\\\end\\)"))
fill-prefix start s2 col)
(end-of-line)
! (if (not (re-search-backward YaTeX-item-regexp bndry t))
(error "\\item not found."))
(skip-chars-forward "^ " (point-end-of-line))
(skip-chars-forward " " (point-end-of-line))
***************
*** 1535,1540 ****
--- 1546,1552 ----
(substring string 0 (match-beginning 1)) repl
(substring string (match-end 1)))))
)
+
(defun YaTeX-lpr (arg)
"Print out. If prefix arg ARG is non nil, call print driver without
page range description."
***************
*** 1541,1550 ****
(interactive "P")
(let*(from to (cmd (or (YaTeX-get-builtin "LPR") dviprint-command-format)))
(setq
! cmd (YaTeX-replace-format
! cmd
! "f"
! (if arg
""
(YaTeX-replace-format
dviprint-from-format
--- 1553,1562 ----
(interactive "P")
(let*(from to (cmd (or (YaTeX-get-builtin "LPR") dviprint-command-format)))
(setq
! cmd
! (YaTeX-replace-format
! cmd "f"
! (if (or arg (not (string-match "%f" cmd)))
""
(YaTeX-replace-format
dviprint-from-format
***************
*** 1551,1566 ****
"b"
(if (string=
(setq from (read-string "From page(default 1): ")) "")
! "1" from)))))
(setq
! cmd (YaTeX-replace-format
! cmd
! "t"
! (if (or arg
! (string=
! (setq to (read-string "To page(default none): ")) ""))
! ""
! (YaTeX-replace-format dviprint-to-format "e" to))))
(setq cmd (read-string "Edit command line: "
(format cmd (YaTeX-get-preview-file-name))))
(with-output-to-temp-buffer "*dvi-printing*"
--- 1563,1580 ----
"b"
(if (string=
(setq from (read-string "From page(default 1): ")) "")
! "1" from))))
! )
(setq
! cmd
! (YaTeX-replace-format
! cmd "t"
! (if (or arg (not (string-match "%t" cmd))
! (string=
! (setq to (read-string "To page(default none): ")) ""))
! ""
! (YaTeX-replace-format dviprint-to-format "e" to)))
! )
(setq cmd (read-string "Edit command line: "
(format cmd (YaTeX-get-preview-file-name))))
(with-output-to-temp-buffer "*dvi-printing*"
***************
*** 1576,1586 ****
(defun YaTeX-read-user-completion-table ()
"Append user completion table of LaTeX word"
(message "Loading personal completion table")
! (let ((user-table (expand-file-name YaTeX-user-completion-table)))
! (if (file-exists-p user-table)
! (load-file user-table)
! (message "Personal completion table not found."))
! ))
(defun YaTeX-save-table ()
"Save personal completion table as dictionary."
--- 1590,1671 ----
(defun YaTeX-read-user-completion-table ()
"Append user completion table of LaTeX word"
(message "Loading personal completion table")
! (if YaTeX-user-table-has-read nil ; nothing to do
! (let*((user-table (expand-file-name YaTeX-user-completion-table))
! (tmp-table (expand-file-name (file-name-nondirectory user-table))))
! (if (file-exists-p user-table) (load-file user-table)
! (message "Personal completion table not found."))
! (if (file-exists-p tmp-table) (load-file tmp-table))
! (setq YaTeX-user-table-has-read t)))
! )
!
! (defun YaTeX-update-table (vallist default-table user-table tmp-table)
! "Update completion table if the car of VALLIST is not in current tables.
! Second argument DEFAULT-TABLE is the quoted symbol of default completion
! table, third argument USER-TABLE is user table which will be saved in
! YaTeX-user-completion-table, fourth argument TMP-TABLE should have the
! completion which is valid during current Emacs's session. If you
! want to make TMP-TABLE valid longer span (but restrict in this directory)
! create the file in current directory which has the same name with
! YaTeX-user-completion-table."
! (let ((car-v (car vallist)) key answer
! (file (file-name-nondirectory YaTeX-user-completion-table)))
! (cond
! ((assoc car-v (symbol-value default-table))
! nil) ;Nothing to do
! ((setq key (assoc car-v (symbol-value user-table)))
! (if (equal (cdr vallist) (cdr key)) nil
! ;; if association hits, but contents differ.
! (message
! "%s's attributes turned into %s" (car vallist) (cdr vallist))
! (set user-table (delq key (symbol-value user-table)))
! (set user-table (cons vallist (symbol-value user-table)))
! (setq YaTeX-user-table-modified t)))
! ((setq key (assoc car-v (symbol-value tmp-table)))
! (if (equal (cdr vallist) (cdr key)) nil
! (message
! "%s's attributes turned into %s" (car vallist) (cdr vallist))
! (set tmp-table (delq key (symbol-value tmp-table)))
! (set tmp-table (cons vallist (symbol-value tmp-table)))
! (YaTeX-save-tmp-table file tmp-table)))
! ;; All of above case, there are some completion in tables.
! ;; Then update tables.
! (t
! (if (not YaTeX-nervous)
! (setq answer ?u)
! (message
! "`%s' is not in table. Register into: U)serDic T)empDic N)one"
! (car vallist))
! (setq answer (read-char)))
! (cond
! ((or (= answer ?u) (= answer ?y))
! (set user-table (cons vallist (symbol-value user-table)))
! (setq YaTeX-user-table-modified t))
! ((or (= answer ?t) (= answer ?T))
! (set tmp-table (cons vallist (symbol-value tmp-table)))
! (YaTeX-save-tmp-table file tmp-table))
! (t nil)))))
! )
!
! (defun YaTeX-save-tmp-table (file symbol)
! (if (and (file-exists-p file)
! (not (string= (expand-file-name YaTeX-user-completion-table)
! (expand-file-name file))))
! (save-excursion
! (message "Updating temporary table...")
! (find-file file)
! (goto-char (point-max))
! (search-backward (concat "(setq " (symbol-name tmp-table)) nil t)
! (delete-region (point) (progn (forward-sexp) (point)))
! (insert "(setq " (symbol-name tmp-table) " '(\n")
! (mapcar '(lambda (s)
! (insert (format "%s\n" s)))
! (symbol-value tmp-table))
! (insert "))\n\n")
! (basic-save-buffer)
! (kill-buffer (current-buffer))
! (message "Updating temporary table...Done")))
! )
(defun YaTeX-save-table ()
"Save personal completion table as dictionary."
***************
*** 1590,1631 ****
(message "Saving user table in %s" YaTeX-user-completion-table)
(find-file (expand-file-name YaTeX-user-completion-table))
(erase-buffer)
! ;; (prin1-to-string user-section-table)
! (insert "(setq user-section-table '(\n")
! (mapcar '(lambda (s)
! (insert (prin1-to-string s))
! (insert "\n"))
! user-section-table)
! (insert "))\n\n")
!
! (insert "(setq user-article-table '(\n")
! (mapcar '(lambda (s)
! (insert (prin1-to-string s))
! (insert "\n"))
! user-article-table)
! (insert "))\n\n")
!
! (insert "(setq user-env-table '(\n")
! (mapcar '(lambda (s)
! (insert (prin1-to-string s))
! (insert "\n"))
! user-env-table)
! (insert "))\n\n")
!
! (insert "(setq user-fontsize-table '(\n")
! (mapcar '(lambda (s)
! (insert (prin1-to-string s))
! (insert "\n"))
! user-fontsize-table)
! (insert "))\n\n")
!
! (insert "(setq user-singlecmd-table '(\n")
! (mapcar '(lambda (s)
! (insert (prin1-to-string s))
! (insert "\n"))
! user-singlecmd-table)
! (insert "))\n")
!
(basic-save-buffer)
(kill-buffer (current-buffer))
(message "")
--- 1675,1689 ----
(message "Saving user table in %s" YaTeX-user-completion-table)
(find-file (expand-file-name YaTeX-user-completion-table))
(erase-buffer)
! (mapcar '(lambda (table-sym)
! (insert (format "(setq %s '(\n" table-sym))
! (mapcar '(lambda (s)
! (insert (format "%s\n" s)))
! (symbol-value table-sym))
! (insert "))\n\n"))
! '(user-section-table user-article-table user-env-table
! user-fontsize-table user-singlecmd-table))
!
(basic-save-buffer)
(kill-buffer (current-buffer))
(message "")
***************
*** 1633,1638 ****
--- 1691,1703 ----
)
;; --------------- General sub functions ---------------
+ (defun point-beginning-of-line ()
+ (save-excursion (beginning-of-line)(point))
+ )
+
+ (defun point-end-of-line ()
+ (save-excursion (end-of-line)(point))
+ )
;(defun index (string char)
; (let ((pos 0)(len (1- (length string)))(index -1))
***************
*** 1656,1689 ****
index)
)
! (defun append-to-hook (hook hook-list)
! "Add hook-list to certain emacs's hook correctly.
! Argument hook-list is the list of function int the form to be called
! Call this function with argument as next example,
! (append-to-hook '((ding))) ;If one function to add.
! (append-to-hook '((func1)(func2 arg)))."
! (if (null (symbol-value hook)) ;Not defined
! (set hook
! (append '(lambda ()) hook-list))
! (if (listp (symbol-value hook))
! (if (eq (car (symbol-value hook)) 'lambda) ;'(lambda () ....)
! (set hook
! (append (symbol-value hook) hook-list))
! (if (eq hook 'kill-emacs-hook) ;'(hook1 hook2 ...)
! (progn ; this format is not
! (ding) ; for kill-emacs-hook
! (message
! "Caution!! you have wrong format of kill-emacs-hook"))
! (while (not (null hook-list))
! (set hook
! (append (symbol-value hook) (car hook-list)))
! (setq hook-list (cdr hook-list))))
! )
! (set hook ;'hook
! (append '(lambda ())
! (cons (list (symbol-value hook)) hook-list)))))
)
- (append-to-hook 'kill-emacs-hook '((YaTeX-save-table)))
;--------------------------------- History ---------------------------------
; Rev. | Date | Contents
--- 1721,1734 ----
index)
)
! (if (fboundp 'YaTeX-saved-kill-emacs) nil
! (fset 'YaTeX-saved-kill-emacs (symbol-function 'kill-emacs))
! (fset 'kill-emacs
! (function (lambda (&optional query)
! (interactive "P")
! (YaTeX-save-table)
! (YaTeX-saved-kill-emacs arg))))
)
;--------------------------------- History ---------------------------------
; Rev. | Date | Contents
***************
*** 1735,1740 ****
--- 1780,1790 ----
; | | automatically. Support YaTeX-fill-item, YaTeX-make-
; | | accent, YaTeX-visit-main-other-window.
; | | [prefix] tl for lpr. Revise YaTeX-view-error.
+ ; 1.38 | 2/20 | Fix for byte-compilation. Do not ask from/to page if
+ ; | | no %f/%t was given. Support temporary dictionary if
+ ; | | YaTeX-nervous is t. Remember the number of section-type
+ ; | | command's argument add learning feature to it.
+ ; | | Abolish append-to-hook, override kill-emacs instead.
;------+----------+---------------------------------------------------------
;
;----------------------------- End of yatex.el -----------------------------
diff -cNa yatex-1.37/yatex.new yatex-1.38/yatex.new
*** yatex-1.37/yatex.new Fri Feb 12 14:06:50 1993
--- yatex-1.38/yatex.new Mon Feb 22 17:18:49 1993
***************
*** 2,7 ****
--- 2,14 ----
Yet Another tex-mode for Emacs
yatex.el $@3F%P!<%8%g%s$NJQ99E@$K$D$$$F!#(J
+ 1.38: YaTeX-nervous $@$,(J t $@$N;~!"0l;~E*!"$^$?$O(J$@%+%l%s%H%G%#%l%/%H%j$G$N$_(J
+ $@M-8z$J%F%s%]%i%j<-=q$,MxMQ2DG=!#(J
+ section$@7?Jd40$K0z?t$N?t$bKd$a9~$_!"(J$@$3$l$b3X=,$9$k!#(J
+ lpr$@%U%)!<%^%C%H$K(J %f,%t $@$,$J$$$H$-$O!"(JFrom,To $@$rJ9$+$J$$!#(J
+ \includeonly$@$G;XDj$7(J$@$?Fs$DL\0J9_$N%U%!%$%k$X$b%8%c%s%W2DG=$K!#(J
+ [prefix] i $@$N7eB7$(;~$K8!:w$9$k(Jitem$@$N@55,I=8=$r;XDj2DG=(J$@$K$7$?!#(J
+
1.37: YaTeX-kill-* $@$N!"(J%#BEGIN/%#END$@BP1~!#(J
$@BP1~$9$k4D6-$X$N%8%c%s%W$G!"%M%9%H$7$?4D6-(J$@$r@5$7$/8!=P!#(J
verbatim $@4D6-$G$O(J " $@$O(J " $@$N$^$^F~NO!#(J
------------------------------ cut here ------------------------------
--
/-----------------------------------------------------\
| $@9-@%M:Fs(J@$@7DXfBg3XM}9)3X8&5f2J4IM}9)3X@l96Bg6p8&5f<<(J |
| yuuji@ae.keio.ac.jp Phone.045-563-1151($@Fb@~(J3678) |
\-----------------------------------------------------/
--
/-----------------------------------------------------\
| $@9-@%M:Fs(J@$@7DXfBg3XM}9)3X8&5f2J(J$@4IM}9)3X@l96Bg6p8&5f<<(J |
| yuuji@ae.keio.ac.jp Phone.045-563-1151($@Fb@~(J3678) |
\-----------------------------------------------------/
Technical Details
Message-ID:
<YUUJI.93Feb23005304@gloria.ae.keio.ac.jp>Path:
arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!sun-barr!sh.wide!kogwy!ae-keio!ae-keio!yuujiShow Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: f5731,31ee2c0e9498e814,start X-Google-Attributes: gidf5731,public X-Google-Thread: 10160c,31ee2c0e9498e814,start X-Google-Attributes: gid10160c,public X-Google-Thread: ff358,31ee2c0e9498e814,start X-Google-Attributes: gidff358,public X-Google-ArrivalTime: 1993-02-22 08:35:25 PST Newsgroups: fj.editor.emacs,fj.comp.texhax,fj.sources Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!sun-barr!sh.wide!kogwy!ae-keio!ae-keio!yuuji From: yuuji@ae.keio.ac.jp (Hirose Yuuji) Subject: Re: Yet Another LaTeX mode. Message-ID: <YUUJI.93Feb23005304@gloria.ae.keio.ac.jp> Followup-To: fj.editor.emacs Sender: news@ae.keio.ac.jp Nntp-Posting-Host: gloria Organization: okoma lab., keio univ., yokohama, japan. Distribution: fj Date: Mon, 22 Feb 1993 15:53:04 GMT Lines: 1120