6
|
1 ------------------------------------------------------------------------
|
|
2 野鳥用付加関数の作成方法
|
|
3 ------------------------------------------------------------------------
|
|
4 筆者註: ・付加関数の呼び出し方の仕様は、まだ模索段階です。
|
|
5 ・yatexadd.el のサンプル関数仕様も、大きく変更する可能性があります。
|
|
6 ・もし、本バージョンの yatexadd を手にされた場合は、今後の付加関数
|
|
7 の仕様について、御意見をお聞かせください。
|
|
8 ・とりあえず、begin型補完のみの対応です。
|
|
9
|
|
10
|
|
11 【付加関数とは】
|
|
12
|
|
13 begin 型補完で、tabular 環境を入力している時に、「"c|c|c" とか、
|
|
14 また、table 環境の入力時に"[tbp]" とかも一緒に入力すればいいのに」
|
|
15 などと思うことはありませんか。もちろんこれを自動入力する関数は簡単
|
|
16 にサポートできるでしょう。
|
|
17
|
|
18 しかし、tabular 環境に限らず、LaTeX の環境の引数には、各人お決ま
|
|
19 りのフォーマットがあるものです。たとえば凝った表を書く時の tabular
|
|
20 環境の引数は、かなり複雑なので、上のような自動入力関数よりも、
|
|
21
|
|
22 "{@{\vrule width 1pt\ }|||@{\vrule width 1pt}}"
|
|
23
|
|
24 を挿入するだけの単純な関数のほうが、嬉しい人もいるでしょう。あるい
|
|
25 は、「そんなの要らない。他の tabular をコピーして来たほうが早い。」
|
|
26 と思う人もいるでしょう。
|
|
27
|
|
28 YaTeX の付加関数は、あらかじめ○○環境用のお仕着せの特別関数を用
|
|
29 意しておくのではなく、○○環境用の特別関数が欲しくなったら独自の関
|
|
30 数を定義する、というコンセプトに基づくもので、付加関数の登録のため
|
|
31 の手続きをすることなく、関数を定義したその瞬間から使えるようになり
|
|
32 ます。「必要なのは、defun だけ」です。
|
|
33
|
|
34
|
|
35 【準備】
|
|
36
|
|
37 さすがに、関数を書くだけでは使えません:-)。yatex-mode 起動時には、
|
|
38 その関数を定義したファイルがロードされていなくてはなりません。
|
|
39 yatex-mode-hook に、付加関数を定義する Emacs-Lisp ファイルをロード
|
|
40 するような仕掛けを書いておくのがよいでしょう。
|
|
41
|
|
42
|
|
43 【関数名】
|
|
44
|
|
45 作成する付加関数名は、補完入力した名前の先頭に YaTeX: を付け足し
|
|
46 たものにします。例えば(begin型補完の) tabular 環境に対して付加関数
|
|
47 を作成したい場合は YaTeX:tabular という関数名で定義します。
|
|
48
|
|
49
|
|
50 【呼ばれ方】
|
|
51
|
|
52 begin型補完の場合 \begin{環境名} が自動入力された直後に呼び出さ
|
|
53 れます。
|
|
54
|
|
55
|
|
56 【参考】
|
|
57
|
|
58 付加関数の定義の例を yatexadd.el に用意しました。実際に独自の付
|
|
59 加関数を定義する時の参考として下さい。
|
|
60
|
|
61
|
|
62 【最後に】
|
|
63
|
|
64 快適な関数を定義したなら、そしてそれを公開してもよいと思われたな
|
|
65 ら、筆者までお送り下さい。次の yatexadd.el に取り込んで行きたいと
|
|
66 思います。
|
|
67
|
|
68 【註】
|
|
69
|
|
70 yatexadd は βversionです。
|
|
71
|
|
72 広瀬雄二
|
|
73 yuujI@ae.keio.ac.jp
|
|
74 pcs39334(ASCII-NET)
|