File: upmendex.doc

package info (click to toggle)
texlive-bin 2016.20160513.41080.dfsg-2+deb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 155,060 kB
  • sloc: ansic: 702,862; cpp: 222,090; perl: 76,014; sh: 23,402; makefile: 8,078; lex: 4,710; pascal: 3,782; python: 3,614; java: 3,569; yacc: 2,905; exp: 2,031; xml: 800; tcl: 670; ruby: 620; lisp: 397; sed: 351; asm: 140; csh: 48; awk: 30
file content (427 lines) | stat: -rw-r--r-- 16,604 bytes parent folder | download | duplicates (4)
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
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
upmendex - 索引整形ツール

使用法

    upmendex [-ilqrcg] [-s sty] [-d dic] [-o ind] [-d dic] [-t log] [-p no] [--] [idx0 idx1 idx2 ...]


解説

  upmendex は文書の索引を作成するツールです。 LaTeX により抽出された索引リストファ
イル(.idx)を並べ替え、実際の索引のソースファイルの形に整形します。makeindex と互
換性があり、さらに「読み」の扱いの手間を減らすように特殊化されています。
  出力される索引の形式は、スタイルファイルに従って決定されます。また、辞書ファイ
ルを与えることにより、索引中の熟語の読みが登録されます。
  索引の階層は3段階まで作成することができます。


オプション

   -i      索引リストファイルが指定されている場合でも、標準入力を索引リストとし
           て使用します。

   -l      索引のソートを文字順で行います。指定されなければ単語順のソートになり
           ます(ソート方法については後述)。

   -q      静粛モードです。エラーおよび警告以外は標準エラー出力に出力しません。

   -r      ページ範囲表現を無効にします。指定しないと、連続して出てくる索引につ
           いては "1--5" のようにページ範囲で表現されます。

   -c      スペースやタブといったブランクを短縮して、すべて1個の半角スペースに
           します。また、前後のブランクは削除されます。

   -g      日本語の頭文字の区切りを "あかさた・・・わ" にします。指定しないと
           "あいうえ・・・わをん" になります。

   -f      upmendexが未対応のスクリプト(言語)も強制的に出力するモードです。

   -s sty  sty ファイルをスタイルファイルと見なします。スタイルファイルを指定し
           なければ、デフォルトの索引形式で作成します。

   -d dic  dic ファイルを辞書ファイルと見なします。辞書ファイルは日本語の
           <熟語 読み> のリストで構成されます。

   -o ind  ind ファイルを出力ファイルと見なします。指定がない場合は最初の入力
           ファイルの拡張子を.indとしたもの、入力ファイルが標準入力のみであれば
           標準出力に出力します。

   -t log  log ファイルをログファイルと見なします。指定がない場合は最初の入力
           ファイルの拡張子を.ilgとしたもの、入力ファイルが標準入力のみであれば
           標準エラー出力のみに出力されます。

   -p no   no を索引ページの先頭ページとして指定します。また、TeXの.log ファイル
           を参照することにより any (最終ページの次のページから)、odd (最終ペー
           ジの次の奇数ページから)、even (最終ページの次の偶数ページから)といっ
           た指定も可能です。

   --      以降はオプション文字列と解釈しません。


スタイルファイル

  スタイルファイルは 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  <文字>
      '"'
      upmendex のパラメータ文字に対するエスケープキャラクタ。

   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のとき出力しない。1のときは英字を大文字で、
      -1のときは小文字で、2のときはタイトルケースで出力する。

   heading_flag  <文字列>
      0
      lethead_flagと同じ。

   tumunja  <文字列>
      "ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎ"
      ハングル見出し文字。見出し文字を文字列で指定する。(upmendex専用)

   hanzi_head  <文字列>
      ""
      漢字見出し文字列。見出し文字列を";"で区切って指定することにより
      デフォルト設定の文字列を上書きする。(upmendex専用)

   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 より
      優先される。((up)mendex専用)

   symbol_flag  <数値>
      1
      symbol の出力フラグ。0のとき出力しない。((up)mendex専用)

   letter_head  <数値>
      1
      日本語の頭文字の出力のフラグ。1のときカタカナ、2のときひらがなで出力する。
      ((up)mendex専用)

   priority  <数値>
      0
      日本語以外の文字(ラテン文字など)と日本語との混在した索引語のソート方法についてのフラグ。
      0でなければ日本語以外の文字と日本語との間に半角スペースを入れた状態でソートする。
      ((up)mendex専用)

   character_order  <文字列>
      "SNLGCJKH"
      記号、英字、日本語の優先順位。'S'は記号、'N'は数字、'L'はラテン文字、
      'G'はギリシャ文字、'C'はキリル文字、'J'は日本語(かな)、'K'はハングル、
      'H'は漢字を表す。(upmendex専用)

   icu_locale  <文字列>
      ""
      ICU collatorにおいて従うlocale。
      空文字列(デフォルト)のときは、"root sort order"に従う。
      (upmendex専用)

   icu_rules  <文字列>
      ""
      ICU collatorにおいてlocaleによらずに照合順序を指定する場合、
      照合順序のルールを示す文字列。
      ( Ref. http://userguide.icu-project.org/collation/customization
             http://www.unicode.org/reports/tr35/tr35-collation.html#Rules )
      UTF-8のUnicode文字及び、以下のエスケープ文字列が使用可能である:
      \uhhhh (16進数[0-9A-Fa-f]を4桁), \Uhhhhhhhh (16進数を8桁),
      \xhh (16進数を2桁), \x{h...} (16進数を1〜8桁), \ooo (8進数[0-7]を3桁)。
      空文字列(デフォルト)のときは、localeによる照合順序のルールに従う。
      (upmendex専用)

   icu_attributes  <文字列>
      ""
      ICU collatorのattribute指定。
      ( Ref. http://userguide.icu-project.org/collation/customization
             http://www.unicode.org/reports/tr35/tr35-collation.html#Setting_Options )
      以下の文字列を解釈する:
      "alternate:shifted", "alternate:non-ignorable",
      "strength:primary", "strength:secondary", "strength:tertiary",
      "strength:quaternary", "strength:identical",
      "french-collation:on", "french-collation:off",
      "case-first:off", "case-first:upper-first", "case-first:lower-first",
      "case-level:on", "case-level:off",
      "normalization-mode:on", "normalization-mode:off"
      (upmendex専用)


日本語の扱いについて

  upmendex は日本語の索引をできるだけ楽に扱えるようになっています。
  makeindex では日本語の索引が正しく辞書順にソートするためにはひらがなまたはカタ
カナに揃え、拗音、撥音、濁点を除いた読みを付けなければなりませんでした(自動的に
揃えるバージョンもある)。
  upmendex ではカナについてはInternational Components for Unicode (ICU)による
ソートを行います。また漢字については辞書ファイルを設定することにより各索引語ごと
に読みを付ける作業をかなり解消できます。

  辞書ファイルは <熟語  読み> のリストで構成されます。熟語と読みの区切りはタブま
たはスペースです。

  以下に辞書の例を示します。

   漢字     かんじ
   読み     よみ
   環境     かんきょう
   α       アルファ

  辞書に登録する熟語は、読み方が1通りになるよう送り仮名を付けてください。
  「表」、「性質」のように送り仮名によらず2通りの読み方ができる語についてはどち
らか1つしか登録できません。他の読み方については各索引語へ読みを付けることで対応
してください。
  また、環境変数 INDEXDEFAULTDICTIONARY に辞書ファイルを登録することにより、
自動的に辞書を参照します。環境変数に登録した辞書は -d で指定した辞書と併用できま
す。


ソート方法について

  upmendex は通常は入力された索引語をそのままソートします。-l オプションが付けられ
た場合、複数の単語で構成される索引語については、ソートするときに単語と単語の間の
スペースを詰めてソートします。
  ここでは前者を単語順ソート、後者を文字順ソートと呼ぶことにします。
  文字順ソートの場合、実際に出力される文字列はスペースを含んだ状態のものなので、
索引語自体が変化することはありません。

  以下に例を示します。

   単語順ソート        文字順ソート
    X Window            Xlib
    Xlib                XView
    XView               X Window

  また、日本語〜日本語以外の文字(ラテン文字など)間でも似たようなソート方法があります。
スタイルファイルでpriority に0以外を指定した場合、隣接した日本語と日本語以外の文字
(ラテン文字など)の間にスペースを入れてソートします。

  以下に例を示します。

   priority=0          priority=1
    index sort          indファイル
    indファイル         index sort


環境変数

  upmendex では以下のような環境変数を使用しています。

   INDEXSTYLE
      索引スタイルファイルがあるディレクトリ

   INDEXDEFAULTSTYLE
      デフォルトで参照する索引スタイルファイル

   INDEXDICTIONARY
      辞書があるディレクトリ

   INDEXDEFAULTDICTIONARY
      常に参照する辞書ファイル


詳細について

  その他、仕様の詳細については makeindex と同じです。


問題点等

  複数のページ記法を使用する場合、ページ順に.idxファイルを与えないとページ番号を
誤認することがあります。


参考

International Components for Unicode (ICU)
http://site.icu-project.org/