# HG changeset patch # User yuuji # Date 773696310 0 # Node ID ab9c4c4f9f7aa09958dbc105e43bbb51cd5c9d34 # Parent 21a751ddf61451ef8a7466b874881113f3f1053f version 1.50 diff -r 21a751ddf614 -r ab9c4c4f9f7a docs/yatexadd.doc --- a/docs/yatexadd.doc Thu Jul 07 16:45:12 1994 +0000 +++ b/docs/yatexadd.doc Fri Jul 08 19:38:30 1994 +0000 @@ -31,8 +31,8 @@ さすがに、関数を書くだけでは使えません:-)。yatex-mode 起動時には、 その関数を定義したファイルがロードされていなくてはなりません。関数 - を定義するファイル名を yatexadd.el(またはバイトコンパイルした形式 - の yatexadd.elc)にし、そのファイルを load-path 中に置いておけば、 + を定義するファイル名を yatexhks.el(またはバイトコンパイルした形式 + の yatexhks.elc)にし、そのファイルを load-path 中に置いておけば、 野鳥が自動的にロードします。それ以外のファイル名にする場合は、 yatex-mode-load-hook に付加関数を定義する Emacs-Lisp ファイルをロー ドするような仕掛けを書いておくのがよいでしょう。 diff -r 21a751ddf614 -r ab9c4c4f9f7a docs/yatexgen.doc --- a/docs/yatexgen.doc Thu Jul 07 16:45:12 1994 +0000 +++ b/docs/yatexgen.doc Fri Jul 08 19:38:30 1994 +0000 @@ -1,11 +1,6 @@ ----------------------------------------------------------------------------- 野鳥用付加関数を自動的に作ろう! ----------------------------------------------------------------------------- -筆者註: - まだまだβバージョンです。 - このバージョンを手にされたかたは、今の yatexgen.el の出力するメッ - セージで、やるべき手順が分かるかどうか、また、もっとよいガイドの出 - し方はないかについて、是非コメントをお願い致します。 【はじめに】 @@ -22,26 +17,156 @@ りましょう:-)。 -【作り方】 +【作り方その1】 - まず yatexgen.el をロードします。 + Emacs-Lispなんか全然知らないよ〜んという人向け: - M-x load-library RET yatexgen RET - そして、 - M-x YaTeX-generate + M-x YaTeX-generate ぺし あとは、画面に出て来る指示通りに操作して下さい。これを無視してい いかげんに操作すると、とんでもないことになります(なんだろう?)。失 敗した、と思ったら、^G して最初からやり直すのが無難です。 +【作り方その2】 + + 他の付加関数を見て何をやってるかの想像が付く人、あるいは + Emacs-Lisp は知ってるが単に作るのが面倒な人向け: + + M-x YaTeX-generate-simple RET + + こっちでは追加型付加関数と引数型付加関数(yatexadd.docもちゃんと + 読んでね;-)の両方が作れます(その1は追加型しか作れない)。 + + では、例として次のような LaTeX コマンドがあったとしましょう。 + (実際にはないよー) + + \epsinput[t](250,50){hoge.eps}{plain}{ほげほげの絵} + (a) (b) (1) (2) (3) + (a)位置を指定するオプション引数(なくても良い) + t(top) b(bottom) l(left) r(right) のどれかが入る + (b)枠の最大の大きさ + (1)第1引数は取り込むEPSファイル名 + (2)第2引数は取り込む時に + plain 何もしない + frame 枠を付ける + dframe 二重枠を付ける + のどれかのスタイルを選べたりする + (3)絵に付けるキャプションを指定 + + 早速付加関数を作りましょう。M-x YaTeX-generate-simple とすると + + Making add-in function for (default ???): epsinput RET + + と聞いて来るので何用の付加関数を作るか答えます。さらに + + (o)追加型? (a)引数型? + + と、聞いて来るのでどちらを作るか答えます。ではそれぞれの場合につい + て例を追ってみましょう。 + + (o)追加型付加関数を作る + + (a),(b)の部分はオプション引数なので、追加型付加関数で補完します。 + (1)〜(3)は実際の引数なので引数型付加関数で補完します。では(a)を補 + 完するための関数を作りましょう。 + + M-x YaTeX-generate-simple RET + epsinput RET + o + + すると次のメニューが出ます。 + +Read type(1): (S)tring (C)omplete (F)ile ([)option (P)osition co(O)rd. (q)uit + + 「Read type(1)」というのは「1番目のオプションの補完スタイルはなあ + に?」という意味です。補完スタイルには以下のものがあります。 + + String 普通の文字列を読み込む + Complete いくつかの候補の中から読み込む + File ファイル名を読み込む + Option オプション引数を読む(省略すると[]がつかない) + Position 場所指定オプションを読む([htbp] みたいなの) + Coord. 座標を読み込む + Quit おしまい + + さて(a)はEPSファイルを配置する場所指定オプションなので補完タイプは + Position、さらにその候補は t, b, l, r のどれかなので、以下のように + 操作します。 + + Read type(1).... p + Acceptable characters: tblr RET + + 次の(b)は座標なので補完タイプは coOrd. 最大サイズと言う意味のプロ + ンプトを出したいので次のようにします。 + + Read type(2).... o + Prompt for coordinates: Max size RET + + もうオプション引数はないので、quitを選びます。 + + Read type(3).... q + + これで隣のウィンドウに \epsinput 用の追加型付加関数が生成されます。 + + (a)引数型付加関数を作る + + さて \epsinput の引数の種別は順に、EPSファイル名、枠付スタイル、 + キャプション文字列でした。これらを読み込む(引数型)付加関数を作りま + しょう。 + + M-x YaTeX-generate-simple RET + epsinput RET + a + + すると引数の数を聞いて来るのでそれに答えます。 + + How many arguments?: 3 RET + + すると第1引数について補完タイプを聞いて来るので、「ファイル名(f)」 + を選び、ファイル名を読む時に出したいプロンプト文字列を入れます。 + + Read type(1).... f + Prompt for argument#1 EPS file name RET + + 第2引数は複数候補から選択するので補完タイプは Completion。 + + Read type(2).... c + Prompt for argument#2 Include style RET + + すると全候補の入力を促すので、順次入力し最後にRETを空打ちします。 + + Item[1](RET to exit): plain RET + Item[2](RET to exit): frame RET + Item[3](RET to exit): dframe RET + Item[4](RET to exit): RET + + 最後の引数は単に文字列を読めば良いので、補完タイプは String。 + 「default:」ではミニバッファで入力する時にデフォルトで入力されてい + る文字列を入れます。必要なければRETを空打ちします。 + + Read type(3).... s + Prompt for argument#3 Caption RET + default: の絵 RET + + さらに補完候補以外の選択を認めるかを聞いて来るので、y か n で答え + ます。この場合 plain, frame, dframe 以外は選べないので + + Require match? (y or n) y + + のように y と答えます。 + + これで隣のウィンドウに \epsinput 用の引数型付加関数が生成されま + す。 + + 【できあがり】 言われた通りに正しく指示を与えると、お望みのお手軽関数が出来上が ります。これを切り取って、~/.emacs にでも放り込みましょう。本当は これも自動化しようと思ったのですが、これに失敗すると命がいくつあっ - ても足りないので、やめておきました。第一、それも面倒な人は、野鳥な - んか使っていないよね? + ても足りないので、やめておきました。第一それも面倒な人は、野鳥なん + か使っていないよね? 【最後に】