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)