yatex

annotate docs/yatexgen.doc @ 566:2ef9f21dd13b

Add note on YaTeX::usepackage-alist-default
author HIROSE Yuuji <yuuji@gentei.org>
date Thu, 24 Jan 2019 15:19:32 +0900
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