------------------------------------------------------------------------ 野鳥用付加関数の作成方法 ------------------------------------------------------------------------ 筆者註: ・付加関数の呼び出し方の仕様は、まだ模索段階です。 ・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)