blob: 9cedccea888d96be589d65fb9505c9f56334a085 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
|
mendex - 索引整形ツール
株式会社アスキー 出版技術グループ
www-ptex@ascii.co.jp
使用法
mendex [-ilqrcgEJSU] [-s sty] [-d dic] [-o ind] [-d dic] [-t log] [-p no] [-I enc] [--] [idx0 idx1 idx2 ...]
解説
mendex は文書の索引を作成するツールです。 LaTeX により抽出された索引リストファ
イル(.idx)を並べ替え、実際の索引のソースファイルの形に整形します。makeindex と互
換性があり、さらに「読み」の扱いの手間を減らすように特殊化されています。
出力される索引の形式は、スタイルファイルに従って決定されます。また、辞書ファイ
ルを与えることにより、索引中の熟語の読みが登録されます。
索引の階層は3段階まで作成することができます。
オプション
-i 索引リストファイルが指定されている場合でも、標準入力を索引リストとし
て使用します。
-l 索引のソートを文字順で行います。指定されなければ単語順のソートになり
ます(ソート方法については後述)。
-q 静粛モードです。エラーおよび警告以外は標準エラー出力に出力しません。
-r ページ範囲表現を無効にします。指定しないと、連続して出てくる索引につ
いては "1--5" のようにページ範囲で表現されます。
-c スペースやタブといったブランクを短縮して、すべて1個の半角スペースに
します。また、前後のブランクは削除されます。
-g 日本語の頭文字の区切りを "あかさた・・・わ" にします。指定しないと
"あいうえ・・・わをん" になります。
-f 辞書ファイルにない漢字も強制的に出力するモードです。
-s sty sty ファイルをスタイルファイルと見なします。スタイルファイルを指定し
なければ、デフォルトの索引形式で作成します。
-d dic dic ファイルを辞書ファイルと見なします。辞書ファイルは日本語の
<熟語 読み> のリストで構成されます。
-o ind ind ファイルを出力ファイルと見なします。指定がない場合は最初の入力
ファイルの拡張子を.indとしたもの、入力ファイルが標準入力のみであれば
標準出力に出力します。
-t log log ファイルをログファイルと見なします。指定がない場合は最初の入力
ファイルの拡張子を.ilgとしたもの、入力ファイルが標準入力のみであれば
標準エラー出力のみに出力されます。
-p no no を索引ページの先頭ページとして指定します。また、TeXの.log ファイル
を参照することにより any (最終ページの次のページから)、odd (最終ペー
ジの次の奇数ページから)、even (最終ページの次の偶数ページから)といっ
た指定も可能です。
-E 漢字コードをEUCに指定します。
入力ファイル、出力ファイルともEUCとして扱います。
-J 漢字コードをJISに指定します。
入力ファイル、出力ファイルともJISとして扱います。
-S 漢字コードをShiftJISに指定します。
入力ファイル、出力ファイルともShiftJISとして扱います。
-U 漢字コードをUTF-8に指定します。
入力ファイル、出力ファイルともUTF-8として扱います。
-I enc 内部バッファのコードをencに指定します。enc には euc (EUC-JP) または utf8 (UTF-8)が指定可能です。
-- 以降はオプション文字列と解釈しません。
スタイルファイル
スタイルファイルは makeindex のものと上位互換です。 形式は
<スタイルパラメータ 引数> のリストで構成されます。パラメータの順序は自由です。
以下にスタイルパラメータの一覧を示します。
`%'以降はコメントと見なされます。
入力ファイルスタイルパラメータ
keyword <文字列>
"\\indexentry"
索引エントリを引数として持つコマンド。
arg_open <文字>
'{'
索引エントリ文字列開始を表す文字。
arg_close <文字>
'}'
索引エントリ文字列終了を表す文字。
range_open <文字>
'('
ページ範囲の開始を示す文字。
range_close <文字>
')'
ページ範囲の終了を示す文字。
level <文字>
'!'
従属レベルであることを示す文字。
actual <文字>
'@'
このシンボルに続く文字列が実際の索引文字列として出力ファイルに書かれる。
encap <文字>
'|'
このシンボルに続く文字列が、ページ番号に付くコマンド名として使われる。
page_compositor <文字列>
"-"
階層化されたページ番号における階層間の区切り文字。
page_precedence <文字列>
"rnaRA"
ページ番号の記法の優先順位。'R'および'r'はローマ数字、'n'はアラビア数字、
'A'および'a'はアルファベットによる記法を表す。
quote <文字>
'"'
mendex のパラメータ文字に対するエスケープキャラクタ。
escape <文字>
'\\'
一般的な文字に対するエスケープキャラクタ。
出力ファイルスタイルパラメータ
preamble <文字列>
"\\begin{theindex}\n"
出力ファイルの文字列。
postamble <文字列>
"\n\n\\end{theindex}\n"
出力ファイルの末尾の文字列。
setpage_prefix <文字列>
"\n \\setcounter{page}{"
開始ページを設定するときの、ページ番号の前に付ける文字列。
setpage_suffix <文字列>
"}\n"
開始ページを設定するときの、ページ番号の後に付ける文字列。
group_skip <文字列>
"\n\n \\indexsapce\n"
新項目(頭文字)の前に挿入する縦スペースを表す文字列。
lethead_prefix <文字列>
""
頭文字の前に付けるコマンド文字列。
heading_prefix <文字列>
""
lethead_prefixと同じ。
lethead_suffix <文字列>
""
頭文字の後に付けるコマンド文字列。
heading_suffix <文字列>
""
lethead_suffixと同じ。
lethead_flag <文字列>
0
頭文字の出力のフラグ。0のとき出力しない。0より大きいときは英字を大文字で、
0より小さいときは小文字で出力する。
heading_flag <文字列>
0
lethead_flagと同じ。
item_0 <文字列>
"\n \\item "
主エントリ間に挿入するコマンド。
item_1 <文字列>
"\n \\subitem "
サブエントリ間に挿入するコマンド。
item_2 <文字列>
"\n \\subsubitem "
サブサブエントリ間に挿入するコマンド。
item_01 <文字列>
"\n \\subitem "
主〜サブエントリ間に挿入するコマンド。
item_x1 <文字列>
"\n \\subitem "
主〜サブエントリ間に挿入するコマンド。(主エントリにページ番号がないとき)
item_12 <文字列>
"\n \\subsubitem "
サブ〜サブサブエントリ間に挿入するコマンド。
item_x2 <文字列>
"\n \\subsubitem "
サブ〜サブサブエントリ間に挿入するコマンド。(サブエントリにページ番号が
ないとき)
delim_0 <文字列>
", "
主エントリと最初のページ番号の間の区切り文字列。
delim_1 <文字列>
", "
サブエントリと最初のページ番号の間の区切り文字列。
delim_2 <文字列>
", "
サブサブエントリと最初のページ番号の間の区切り文字列。
delim_n <文字列>
", "
ページ番号間の区切り文字列。どのエントリレベルにも共通。
delim_r <文字列>
"--"
ページ範囲を示すときの、ページ番号間の区切り文字列。
delim_t <文字列>
""
ページ番号のリストの終端に出力する文字列。
suffix_2p <文字列>
""
ページ番号が2ページ連続する場合に、delim_n と2ページ目の番号の代わりに
付加する文字列。
文字列が定義されている場合にのみ有効。
suffix_3p <文字列>
""
ページ番号が3ページ連続する場合に、delim_r と3ページ目の番号の代わりに
付加する文字列。suffix_mp より優先される。
文字列が定義されている場合にのみ有効。
suffix_mp <文字列>
""
ページ番号が3ページまたはそれ以上連続する場合に、delim_r と末尾のページ
番号の代わりに付加する文字列。
文字列が定義されている場合にのみ有効。
encap_prefix <文字列>
"\\"
ページ番号にコマンドを付けるときの、コマンド名の前に付ける文字列。
encap_infix <文字列>
"{"
ページ番号にコマンドを付けるときの、ページ番号の前に付ける文字列。
encap_suffix <文字列>
"}"
ページ番号にコマンドを付けるときの、ページ番号の後に付ける文字列。
line_max <数値>
72
1行の最大文字数。それを超えると折り返す。
indent_space <文字列>
"\t\t"
折り返した行の頭に挿入するスペース。
indent_length <数値>
16
折り返した行の頭に挿入されるスペースの長さ。
symhead_positive <文字列>
"Symbols"
lethead_flag または heading_flag が正数の場合に数字・記号の頭文字として
出力する文字列。
symhead_negative <文字列>
"symbols"
lethead_flag または heading_flag が負数の場合に数字・記号の頭文字として
出力する文字列。
symbol <文字列>
""
symbol_flag が0でない場合に、数字・記号の頭文字として出力する文字列。
文字列が定義されていれば、symhead_positive および symhead_negative より
優先される。(mendex専用)
symbol_flag <数値>
1
symbol の出力フラグ。0のとき出力しない。(mendex専用)
letter_head <数値>
1
日本語の頭文字の出力のフラグ。0のとき出力しない。1のときカタカナ、2のとき
ひらがなで出力する。(mendex専用)
priority <数値>
0
英字と日本語との混在した索引語のソート方法についてのフラグ。0でなければ
英字と日本語との間に半角スペースを入れた状態でソートする。(mendex専用)
character_order <文字列>
"SEJ"
記号、英字、日本語の優先順位。'S'は記号、'E'は英字、'J'は日本語を表す。
(mendex専用)
日本語の扱いについて
mendex は日本語の索引をできるだけ楽に扱えるようになっています。
makeindex では日本語の索引が正しく辞書順にソートするためにはひらがなまたはカタ
カナに揃え、拗音、撥音、濁点を除いた読みを付けなければなりませんでした(自動的に
揃えるバージョンもある)。
mendex ではカナについてはすべて自動的に揃え、また漢字については辞書ファイルを
設定することにより各索引語ごとに読みを付ける作業をかなり解消できます。
以下に内部でのカナの変換例を示します。
かぶしきがいしゃ かふしきかいしや
マッキントッシュ まつきんとつしゆ
ワープロ わあふろ
辞書ファイルは <熟語 読み> のリストで構成されます。熟語と読みの区切りはタブま
たはスペースです。
以下に辞書の例を示します。
漢字 かんじ
読み よみ
環境 かんきょう
α アルファ
辞書に登録する熟語は、読み方が1通りになるよう送り仮名を付けてください。
「表」、「性質」のように送り仮名によらず2通りの読み方ができる語についてはどち
らか1つしか登録できません。他の読み方については各索引語へ読みを付けることで対応
してください。
また、環境変数 INDEXDEFAULTDICTIONARY に辞書ファイルを登録することにより、
自動的に辞書を参照します。環境変数に登録した辞書は -d で指定した辞書と併用できま
す。
ソート方法について
mendex は通常は入力された索引語をそのままソートします。-l オプションが付けられ
た場合、複数の単語で構成される索引語については、ソートするときに単語と単語の間の
スペースを詰めてソートします。
ここでは前者を単語順ソート、後者を文字順ソートと呼ぶことにします。
文字順ソートの場合、実際に出力される文字列はスペースを含んだ状態のものなので、
索引語自体が変化することはありません。
以下に例を示します。
単語順ソート 文字順ソート
X Window Xlib
Xlib XView
XView X Window
また、日本語〜英字間でも似たようなソート方法があります。スタイルファイルで
priority に0以外を指定した場合、隣接した日本語と英字の間にスペースを入れてソート
します。
以下に例を示します。
priority=0 priority=1
index sort indファイル
indファイル index sort
環境変数
mendex では以下のような環境変数を使用しています。
INDEXSTYLE
索引スタイルファイルがあるディレクトリ
INDEXDEFAULTSTYLE
デフォルトで参照する索引スタイルファイル
INDEXDICTIONARY
辞書があるディレクトリ
INDEXDEFAULTDICTIONARY
常に参照する辞書ファイル
詳細について
その他、仕様の詳細については makeindex と同じです。
問題点等
複数のページ記法を使用する場合、ページ順に.idxファイルを与えないとページ番号を
誤認することがあります。
|