yatex
annotate docs/yatexgen.doc @ 441:564510b9caca
Add verbatim package for verbatiminput macro
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Sun, 09 Oct 2016 15:58:27 +0859 |
parents | 807c1e7e68b7 |
children |
rev | line source |
---|---|
yuuji@9 | 1 ----------------------------------------------------------------------------- |
yuuji@9 | 2 野鳥用付加関数を自動的に作ろう! |
yuuji@9 | 3 ----------------------------------------------------------------------------- |
yuuji@9 | 4 |
yuuji@9 | 5 【はじめに】 |
yuuji@9 | 6 |
yuuji@12 | 7 まず、yatexadd.doc には目を通して下さい。それを読んで、なにか独 |
yuuji@9 | 8 自の関数をすぐに作りたくなったあなたには、このドキュメントも、 |
yuuji@9 | 9 yatexgen.el も必要有りません。しかし、Emacs-Lisp をよく知らないた |
yuuji@9 | 10 め、どのように作ってよいのかピンと来ない方のために、野鳥自身に付加 |
yuuji@9 | 11 関数を自動的に作らせる時の説明をするのが、このドキュメントです。 |
yuuji@9 | 12 |
yuuji@9 | 13 ただ、自動的に作るわけですから、気の利いた関数などは作れません。 |
yuuji@9 | 14 \documentstyle{} を入れる時に、オプション([twocolumn,12pt]とか)を |
yuuji@9 | 15 自動的にキーボードから読み込むようにする程度のものだけなので、それ |
yuuji@9 | 16 以上を望む場合は、ちゃんと yatexadd.el を参考にして、すごいのを作 |
yuuji@9 | 17 りましょう:-)。 |
yuuji@9 | 18 |
yuuji@9 | 19 |
yuuji@25 | 20 【作り方その1】 |
yuuji@9 | 21 |
yuuji@25 | 22 Emacs-Lispなんか全然知らないよ〜んという人向け: |
yuuji@9 | 23 |
yuuji@25 | 24 M-x YaTeX-generate ぺし |
yuuji@9 | 25 |
yuuji@9 | 26 あとは、画面に出て来る指示通りに操作して下さい。これを無視してい |
yuuji@9 | 27 いかげんに操作すると、とんでもないことになります(なんだろう?)。失 |
yuuji@9 | 28 敗した、と思ったら、^G して最初からやり直すのが無難です。 |
yuuji@9 | 29 |
yuuji@9 | 30 |
yuuji@25 | 31 【作り方その2】 |
yuuji@25 | 32 |
yuuji@25 | 33 他の付加関数を見て何をやってるかの想像が付く人、あるいは |
yuuji@25 | 34 Emacs-Lisp は知ってるが単に作るのが面倒な人向け: |
yuuji@25 | 35 |
yuuji@25 | 36 M-x YaTeX-generate-simple RET |
yuuji@25 | 37 |
yuuji@25 | 38 こっちでは追加型付加関数と引数型付加関数(yatexadd.docもちゃんと |
yuuji@25 | 39 読んでね;-)の両方が作れます(その1は追加型しか作れない)。 |
yuuji@25 | 40 |
yuuji@25 | 41 では、例として次のような LaTeX コマンドがあったとしましょう。 |
yuuji@25 | 42 (実際にはないよー) |
yuuji@25 | 43 |
yuuji@25 | 44 \epsinput[t](250,50){hoge.eps}{plain}{ほげほげの絵} |
yuuji@47 | 45 (A) (B) (1) (2) (3) |
yuuji@47 | 46 (A)位置を指定するオプション引数(なくても良い) |
yuuji@25 | 47 t(top) b(bottom) l(left) r(right) のどれかが入る |
yuuji@47 | 48 (B)枠の最大の大きさ |
yuuji@25 | 49 (1)第1引数は取り込むEPSファイル名 |
yuuji@25 | 50 (2)第2引数は取り込む時に |
yuuji@25 | 51 plain 何もしない |
yuuji@25 | 52 frame 枠を付ける |
yuuji@25 | 53 dframe 二重枠を付ける |
yuuji@25 | 54 のどれかのスタイルを選べたりする |
yuuji@25 | 55 (3)絵に付けるキャプションを指定 |
yuuji@25 | 56 |
yuuji@25 | 57 早速付加関数を作りましょう。M-x YaTeX-generate-simple とすると |
yuuji@25 | 58 |
yuuji@25 | 59 Making add-in function for (default ???): epsinput RET |
yuuji@25 | 60 |
yuuji@25 | 61 と聞いて来るので何用の付加関数を作るか答えます。さらに |
yuuji@25 | 62 |
yuuji@25 | 63 (o)追加型? (a)引数型? |
yuuji@25 | 64 |
yuuji@25 | 65 と、聞いて来るのでどちらを作るか答えます。ではそれぞれの場合につい |
yuuji@25 | 66 て例を追ってみましょう。 |
yuuji@25 | 67 |
yuuji@25 | 68 (o)追加型付加関数を作る |
yuuji@25 | 69 |
yuuji@47 | 70 (A),(B)の部分はオプション引数なので、追加型付加関数で補完します。 |
yuuji@47 | 71 (1)〜(3)は実際の引数なので引数型付加関数で補完します。では(A)を補 |
yuuji@25 | 72 完するための関数を作りましょう。 |
yuuji@25 | 73 |
yuuji@25 | 74 M-x YaTeX-generate-simple RET |
yuuji@25 | 75 epsinput RET |
yuuji@25 | 76 o |
yuuji@25 | 77 |
yuuji@25 | 78 すると次のメニューが出ます。 |
yuuji@25 | 79 |
yuuji@25 | 80 Read type(1): (S)tring (C)omplete (F)ile ([)option (P)osition co(O)rd. (q)uit |
yuuji@25 | 81 |
yuuji@25 | 82 「Read type(1)」というのは「1番目のオプションの補完スタイルはなあ |
yuuji@25 | 83 に?」という意味です。補完スタイルには以下のものがあります。 |
yuuji@25 | 84 |
yuuji@25 | 85 String 普通の文字列を読み込む |
yuuji@25 | 86 Complete いくつかの候補の中から読み込む |
yuuji@25 | 87 File ファイル名を読み込む |
yuuji@25 | 88 Option オプション引数を読む(省略すると[]がつかない) |
yuuji@25 | 89 Position 場所指定オプションを読む([htbp] みたいなの) |
yuuji@25 | 90 Coord. 座標を読み込む |
yuuji@25 | 91 Quit おしまい |
yuuji@25 | 92 |
yuuji@47 | 93 さて(A)はEPSファイルを配置する場所指定オプションなので補完タイプは |
yuuji@25 | 94 Position、さらにその候補は t, b, l, r のどれかなので、以下のように |
yuuji@25 | 95 操作します。 |
yuuji@25 | 96 |
yuuji@25 | 97 Read type(1).... p |
yuuji@25 | 98 Acceptable characters: tblr RET |
yuuji@25 | 99 |
yuuji@47 | 100 次の(B)は座標なので補完タイプは coOrd. 最大サイズと言う意味のプロ |
yuuji@25 | 101 ンプトを出したいので次のようにします。 |
yuuji@25 | 102 |
yuuji@25 | 103 Read type(2).... o |
yuuji@25 | 104 Prompt for coordinates: Max size RET |
yuuji@25 | 105 |
yuuji@25 | 106 もうオプション引数はないので、quitを選びます。 |
yuuji@25 | 107 |
yuuji@25 | 108 Read type(3).... q |
yuuji@25 | 109 |
yuuji@25 | 110 これで隣のウィンドウに \epsinput 用の追加型付加関数が生成されます。 |
yuuji@25 | 111 |
yuuji@25 | 112 (a)引数型付加関数を作る |
yuuji@25 | 113 |
yuuji@25 | 114 さて \epsinput の引数の種別は順に、EPSファイル名、枠付スタイル、 |
yuuji@25 | 115 キャプション文字列でした。これらを読み込む(引数型)付加関数を作りま |
yuuji@25 | 116 しょう。 |
yuuji@25 | 117 |
yuuji@25 | 118 M-x YaTeX-generate-simple RET |
yuuji@25 | 119 epsinput RET |
yuuji@25 | 120 a |
yuuji@25 | 121 |
yuuji@25 | 122 すると引数の数を聞いて来るのでそれに答えます。 |
yuuji@25 | 123 |
yuuji@25 | 124 How many arguments?: 3 RET |
yuuji@25 | 125 |
yuuji@25 | 126 すると第1引数について補完タイプを聞いて来るので、「ファイル名(f)」 |
yuuji@25 | 127 を選び、ファイル名を読む時に出したいプロンプト文字列を入れます。 |
yuuji@25 | 128 |
yuuji@25 | 129 Read type(1).... f |
yuuji@25 | 130 Prompt for argument#1 EPS file name RET |
yuuji@25 | 131 |
yuuji@25 | 132 第2引数は複数候補から選択するので補完タイプは Completion。 |
yuuji@25 | 133 |
yuuji@25 | 134 Read type(2).... c |
yuuji@25 | 135 Prompt for argument#2 Include style RET |
yuuji@25 | 136 |
yuuji@25 | 137 すると全候補の入力を促すので、順次入力し最後にRETを空打ちします。 |
yuuji@25 | 138 |
yuuji@25 | 139 Item[1](RET to exit): plain RET |
yuuji@25 | 140 Item[2](RET to exit): frame RET |
yuuji@25 | 141 Item[3](RET to exit): dframe RET |
yuuji@25 | 142 Item[4](RET to exit): RET |
yuuji@25 | 143 |
yuuji@46 | 144 さらに補完候補以外の選択を認めるかを聞いて来るので、y か n で答え |
yuuji@46 | 145 ます。この場合 plain, frame, dframe 以外は選べないので |
yuuji@46 | 146 |
yuuji@46 | 147 Require match? (y or n) y |
yuuji@46 | 148 |
yuuji@46 | 149 のように y と答えます。 |
yuuji@46 | 150 |
yuuji@25 | 151 最後の引数は単に文字列を読めば良いので、補完タイプは String。 |
yuuji@25 | 152 「default:」ではミニバッファで入力する時にデフォルトで入力されてい |
yuuji@25 | 153 る文字列を入れます。必要なければRETを空打ちします。 |
yuuji@25 | 154 |
yuuji@25 | 155 Read type(3).... s |
yuuji@25 | 156 Prompt for argument#3 Caption RET |
yuuji@25 | 157 default: の絵 RET |
yuuji@25 | 158 |
yuuji@25 | 159 これで隣のウィンドウに \epsinput 用の引数型付加関数が生成されま |
yuuji@25 | 160 す。 |
yuuji@25 | 161 |
yuuji@25 | 162 |
yuuji@9 | 163 【できあがり】 |
yuuji@9 | 164 |
yuuji@54 | 165 言われた通りに正しく指示を与えると、お望みのお手軽関数が出来上 |
yuuji@54 | 166 がります。これを切り取って、~/yatexhks.el にでも放り込みましょう。 |
yuuji@54 | 167 本当はこれも自動化しようと思ったのですが、これに失敗すると命がい |
yuuji@54 | 168 くつあっても足りないので、やめておきました。第一それも面倒な人は、 |
yuuji@54 | 169 野鳥なんか使っていないよね? |
yuuji@9 | 170 |
yuuji@9 | 171 |
yuuji@9 | 172 【最後に】 |
yuuji@9 | 173 |
yuuji@9 | 174 快適な関数を定義したなら、そしてそれを公開してもよいと思われたな |
yuuji@9 | 175 ら、幸福感に浸るだけにして、決して筆者まで送ったりしないで下さい。 |
yuuji@9 | 176 yatexgen が作るんだから、ろくな関数じゃないことは分かってます:-p。 |
yuuji@9 | 177 |
yuuji@69 | 178 広瀬雄二 |
yuuji@70 | 179 yuuji@yatex.org |