yatex

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 diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/docs/yatexadd.doc	Mon Feb 22 11:04:53 1993 +0000
     1.3 @@ -0,0 +1,74 @@
     1.4 +------------------------------------------------------------------------
     1.5 +			野鳥用付加関数の作成方法
     1.6 +------------------------------------------------------------------------
     1.7 +筆者註: ・付加関数の呼び出し方の仕様は、まだ模索段階です。
     1.8 +	・yatexadd.el のサンプル関数仕様も、大きく変更する可能性があります。
     1.9 +	・もし、本バージョンの yatexadd を手にされた場合は、今後の付加関数
    1.10 +	  の仕様について、御意見をお聞かせください。
    1.11 +	・とりあえず、begin型補完のみの対応です。
    1.12 +
    1.13 +
    1.14 +【付加関数とは】
    1.15 +
    1.16 +	  begin 型補完で、tabular 環境を入力している時に、「"c|c|c" とか、 
    1.17 +	また、table 環境の入力時に"[tbp]" とかも一緒に入力すればいいのに」
    1.18 +	などと思うことはありませんか。もちろんこれを自動入力する関数は簡単
    1.19 +	にサポートできるでしょう。
    1.20 +
    1.21 +	  しかし、tabular 環境に限らず、LaTeX の環境の引数には、各人お決ま
    1.22 +	りのフォーマットがあるものです。たとえば凝った表を書く時の tabular
    1.23 +	環境の引数は、かなり複雑なので、上のような自動入力関数よりも、
    1.24 +
    1.25 +		"{@{\vrule width 1pt\ }|||@{\vrule width 1pt}}"
    1.26 +
    1.27 +	を挿入するだけの単純な関数のほうが、嬉しい人もいるでしょう。あるい
    1.28 +	は、「そんなの要らない。他の tabular をコピーして来たほうが早い。」
    1.29 +	と思う人もいるでしょう。
    1.30 +
    1.31 +	  YaTeX の付加関数は、あらかじめ○○環境用のお仕着せの特別関数を用
    1.32 +	意しておくのではなく、○○環境用の特別関数が欲しくなったら独自の関
    1.33 +	数を定義する、というコンセプトに基づくもので、付加関数の登録のため
    1.34 +	の手続きをすることなく、関数を定義したその瞬間から使えるようになり
    1.35 +	ます。「必要なのは、defun だけ」です。
    1.36 +
    1.37 +
    1.38 +【準備】
    1.39 +
    1.40 +	  さすがに、関数を書くだけでは使えません:-)。yatex-mode 起動時には、
    1.41 +	その関数を定義したファイルがロードされていなくてはなりません。 
    1.42 +	yatex-mode-hook に、付加関数を定義する Emacs-Lisp ファイルをロード
    1.43 +	するような仕掛けを書いておくのがよいでしょう。
    1.44 +
    1.45 +
    1.46 +【関数名】
    1.47 +
    1.48 +	  作成する付加関数名は、補完入力した名前の先頭に YaTeX: を付け足し
    1.49 +	たものにします。例えば(begin型補完の) tabular 環境に対して付加関数
    1.50 +	を作成したい場合は YaTeX:tabular という関数名で定義します。
    1.51 +
    1.52 +
    1.53 +【呼ばれ方】
    1.54 +
    1.55 +	  begin型補完の場合 \begin{環境名} が自動入力された直後に呼び出さ
    1.56 +	れます。
    1.57 +
    1.58 +
    1.59 +【参考】
    1.60 +
    1.61 +	  付加関数の定義の例を yatexadd.el に用意しました。実際に独自の付
    1.62 +	加関数を定義する時の参考として下さい。
    1.63 +
    1.64 +
    1.65 +【最後に】
    1.66 +
    1.67 +	  快適な関数を定義したなら、そしてそれを公開してもよいと思われたな
    1.68 +	ら、筆者までお送り下さい。次の yatexadd.el に取り込んで行きたいと
    1.69 +	思います。
    1.70 +
    1.71 +【註】
    1.72 +
    1.73 +	  yatexadd は βversionです。
    1.74 +
    1.75 +								   広瀬雄二
    1.76 +							yuujI@ae.keio.ac.jp
    1.77 +							pcs39334(ASCII-NET)
     2.1 Binary file yatex.el has changed
     3.1 --- a/yatex.new	Tue Feb 16 08:51:15 1993 +0000
     3.2 +++ b/yatex.new	Mon Feb 22 11:04:53 1993 +0000
     3.3 @@ -2,6 +2,13 @@
     3.4  	Yet Another tex-mode for Emacs
     3.5  	yatex.el 各バージョンの変更点について。
     3.6  
     3.7 +1.38:	YaTeX-nervous が t の時、一時的、またはカレントディレクトリでのみ
     3.8 +	有効なテンポラリ辞書が利用可能。
     3.9 +	section型補完に引数の数も埋め込み、これも学習する。
    3.10 +	lprフォーマットに %f,%t がないときは、From,To を聞かない。
    3.11 +	\includeonlyで指定した二つ目以降のファイルへもジャンプ可能に。
    3.12 +	[prefix] i の桁揃え時に検索するitemの正規表現を指定可能にした。
    3.13 +
    3.14  1.37:	YaTeX-kill-* の、%#BEGIN/%#END対応。
    3.15  	対応する環境へのジャンプで、ネストした環境を正しく検出。
    3.16  	verbatim 環境では " は " のまま入力。
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/yatexadd.el	Mon Feb 22 11:04:53 1993 +0000
     4.3 @@ -0,0 +1,59 @@
     4.4 +;;; -*- Emacs-Lisp -*-
     4.5 +;;; YaTeX add in functions.
     4.6 +;;; yatexadd.el rev.2
     4.7 +;;; (c)1991-1993 by HIROSE Yuuji.[yuuji@ae.keio.ac.jp]
     4.8 +;;; Last modified Fri Feb  5 09:36:06 1993 on gloria
     4.9 +
    4.10 +(provide 'yatexadd)
    4.11 +
    4.12 +;;;
    4.13 +;;Sample functions for LaTeX environment.
    4.14 +;;;
    4.15 +(defvar YaTeX:tabular-default-rule
    4.16 +  "@{\\vrule width 1pt\\ }c|c|c@{\\ \\vrule width 1pt}"
    4.17 +  "*Your favorite default rule format."
    4.18 +)
    4.19 +(defun YaTeX:tabular ()
    4.20 +  "YaTeX add in function for tabular environment."
    4.21 +  (let (bars (rule "") (j 0) loc)
    4.22 +    (setq bars (string-to-int (read-string "Number of `|': ")))
    4.23 +    (if (> bars 0)
    4.24 +	(while (< j bars) (setq rule (concat rule "|")) (setq j (1+ j)))
    4.25 +      (setq rule YaTeX:tabular-default-rule))
    4.26 +    (setq rule (read-string "rule format: " rule))
    4.27 +
    4.28 +    (insert (format "{%s}" rule))
    4.29 +    (message ""))
    4.30 +)
    4.31 +
    4.32 +(defun YaTeX:table ()
    4.33 +  (let ((pos ""))
    4.34 +    (message "Position []:")
    4.35 +    (while (not (string-match
    4.36 +		 (setq loc (read-key-sequence (format "Position [%s]: " pos)))
    4.37 +		 "\r\^g\n"))
    4.38 +      (cond
    4.39 +       ((string-match loc "htbp")
    4.40 +	(if (not (string-match loc pos))
    4.41 +	    (setq pos (concat pos loc))))
    4.42 +       ((and (string-match loc "\C-h\C-?") (> (length pos) 0))
    4.43 +	(setq pos (substring pos 0 (1- (length pos)))))
    4.44 +       (t
    4.45 +	(ding)
    4.46 +	(message "Please input one of `htbp'.")
    4.47 +	(sit-for 3))))
    4.48 +    (if (string= pos "") nil
    4.49 +      (insert "[" pos "]")))
    4.50 +)
    4.51 +
    4.52 +(defun YaTeX:description ()
    4.53 +  "Truly poor service:-)"
    4.54 +  (setq single-command "item[]")
    4.55 +)
    4.56 +
    4.57 +(defun YaTeX:itemize ()
    4.58 +  "It's also poor service."
    4.59 +  (setq single-command "item")
    4.60 +)
    4.61 +
    4.62 +(fset 'YaTeX:enumerate 'YaTeX:itemize)