changeset 6:49be9ccb0b65

Temporary dictionary. Learn the number of argument(section-type completion). Override kill-emacs. Patched posted to fj.sources,fj.editor.emacs,fj.comp.texhax
author yuuji
date Mon, 22 Feb 1993 11:04:53 +0000
parents 370a391533fd
children 9a56acb6c287
files docs/yatexadd.doc yatex.el yatex.new yatexadd.el
diffstat 4 files changed, 140 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/yatexadd.doc	Mon Feb 22 11:04:53 1993 +0000
@@ -0,0 +1,74 @@
+------------------------------------------------------------------------
+			野鳥用付加関数の作成方法
+------------------------------------------------------------------------
+筆者註: ・付加関数の呼び出し方の仕様は、まだ模索段階です。
+	・yatexadd.el のサンプル関数仕様も、大きく変更する可能性があります。
+	・もし、本バージョンの yatexadd を手にされた場合は、今後の付加関数
+	  の仕様について、御意見をお聞かせください。
+	・とりあえず、begin型補完のみの対応です。
+
+
+【付加関数とは】
+
+	  begin 型補完で、tabular 環境を入力している時に、「"c|c|c" とか、 
+	また、table 環境の入力時に"[tbp]" とかも一緒に入力すればいいのに」
+	などと思うことはありませんか。もちろんこれを自動入力する関数は簡単
+	にサポートできるでしょう。
+
+	  しかし、tabular 環境に限らず、LaTeX の環境の引数には、各人お決ま
+	りのフォーマットがあるものです。たとえば凝った表を書く時の tabular
+	環境の引数は、かなり複雑なので、上のような自動入力関数よりも、
+
+		"{@{\vrule width 1pt\ }|||@{\vrule width 1pt}}"
+
+	を挿入するだけの単純な関数のほうが、嬉しい人もいるでしょう。あるい
+	は、「そんなの要らない。他の tabular をコピーして来たほうが早い。」
+	と思う人もいるでしょう。
+
+	  YaTeX の付加関数は、あらかじめ○○環境用のお仕着せの特別関数を用
+	意しておくのではなく、○○環境用の特別関数が欲しくなったら独自の関
+	数を定義する、というコンセプトに基づくもので、付加関数の登録のため
+	の手続きをすることなく、関数を定義したその瞬間から使えるようになり
+	ます。「必要なのは、defun だけ」です。
+
+
+【準備】
+
+	  さすがに、関数を書くだけでは使えません:-)。yatex-mode 起動時には、
+	その関数を定義したファイルがロードされていなくてはなりません。 
+	yatex-mode-hook に、付加関数を定義する Emacs-Lisp ファイルをロード
+	するような仕掛けを書いておくのがよいでしょう。
+
+
+【関数名】
+
+	  作成する付加関数名は、補完入力した名前の先頭に YaTeX: を付け足し
+	たものにします。例えば(begin型補完の) tabular 環境に対して付加関数
+	を作成したい場合は YaTeX:tabular という関数名で定義します。
+
+
+【呼ばれ方】
+
+	  begin型補完の場合 \begin{環境名} が自動入力された直後に呼び出さ
+	れます。
+
+
+【参考】
+
+	  付加関数の定義の例を yatexadd.el に用意しました。実際に独自の付
+	加関数を定義する時の参考として下さい。
+
+
+【最後に】
+
+	  快適な関数を定義したなら、そしてそれを公開してもよいと思われたな
+	ら、筆者までお送り下さい。次の yatexadd.el に取り込んで行きたいと
+	思います。
+
+【註】
+
+	  yatexadd は βversionです。
+
+								   広瀬雄二
+							yuujI@ae.keio.ac.jp
+							pcs39334(ASCII-NET)
Binary file yatex.el has changed
--- a/yatex.new	Tue Feb 16 08:51:15 1993 +0000
+++ b/yatex.new	Mon Feb 22 11:04:53 1993 +0000
@@ -2,6 +2,13 @@
 	Yet Another tex-mode for Emacs
 	yatex.el 各バージョンの変更点について。
 
+1.38:	YaTeX-nervous が t の時、一時的、またはカレントディレクトリでのみ
+	有効なテンポラリ辞書が利用可能。
+	section型補完に引数の数も埋め込み、これも学習する。
+	lprフォーマットに %f,%t がないときは、From,To を聞かない。
+	\includeonlyで指定した二つ目以降のファイルへもジャンプ可能に。
+	[prefix] i の桁揃え時に検索するitemの正規表現を指定可能にした。
+
 1.37:	YaTeX-kill-* の、%#BEGIN/%#END対応。
 	対応する環境へのジャンプで、ネストした環境を正しく検出。
 	verbatim 環境では " は " のまま入力。
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/yatexadd.el	Mon Feb 22 11:04:53 1993 +0000
@@ -0,0 +1,59 @@
+;;; -*- Emacs-Lisp -*-
+;;; YaTeX add in functions.
+;;; yatexadd.el rev.2
+;;; (c)1991-1993 by HIROSE Yuuji.[yuuji@ae.keio.ac.jp]
+;;; Last modified Fri Feb  5 09:36:06 1993 on gloria
+
+(provide 'yatexadd)
+
+;;;
+;;Sample functions for LaTeX environment.
+;;;
+(defvar YaTeX:tabular-default-rule
+  "@{\\vrule width 1pt\\ }c|c|c@{\\ \\vrule width 1pt}"
+  "*Your favorite default rule format."
+)
+(defun YaTeX:tabular ()
+  "YaTeX add in function for tabular environment."
+  (let (bars (rule "") (j 0) loc)
+    (setq bars (string-to-int (read-string "Number of `|': ")))
+    (if (> bars 0)
+	(while (< j bars) (setq rule (concat rule "|")) (setq j (1+ j)))
+      (setq rule YaTeX:tabular-default-rule))
+    (setq rule (read-string "rule format: " rule))
+
+    (insert (format "{%s}" rule))
+    (message ""))
+)
+
+(defun YaTeX:table ()
+  (let ((pos ""))
+    (message "Position []:")
+    (while (not (string-match
+		 (setq loc (read-key-sequence (format "Position [%s]: " pos)))
+		 "\r\^g\n"))
+      (cond
+       ((string-match loc "htbp")
+	(if (not (string-match loc pos))
+	    (setq pos (concat pos loc))))
+       ((and (string-match loc "\C-h\C-?") (> (length pos) 0))
+	(setq pos (substring pos 0 (1- (length pos)))))
+       (t
+	(ding)
+	(message "Please input one of `htbp'.")
+	(sit-for 3))))
+    (if (string= pos "") nil
+      (insert "[" pos "]")))
+)
+
+(defun YaTeX:description ()
+  "Truly poor service:-)"
+  (setq single-command "item[]")
+)
+
+(defun YaTeX:itemize ()
+  "It's also poor service."
+  (setq single-command "item")
+)
+
+(fset 'YaTeX:enumerate 'YaTeX:itemize)

yatex.org