[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.5 ptx: パミューテド・インデックスを作成する

ptx の基本的な働きは、テキストファイルを読み込んで、 パミューテド・インデックスを作成することである。パミューテド・インデックスというのは、 各キーワードに前後の文脈を付けて索引項目にするインデックスのことだ。

(訳注: パミューテド・インデックスは、KWIC (Key Word In Context) インデックスとも言われる。簡単に言えば、本文にあるとおり、 キーワードに前後の文脈を付けて項目として立てる索引のことである。たとえば、"The cow jumped over the moon." という文があるとしよう。今、キーワードを角カッコ ([]) で示すとすると、ptx による一番簡単なパミューテド・インデックスの作成では、 この文から、

 
[The] cow jumped over the moon.
The [cow] jumped over the moon.
The cow [jumped] over the moon.
The cow jumped [over] the moon.
The cow jumped over [the] moon.
The cow jumped over the [moon].

という、キーワードの位置だけが違う 6 個の索引項目が作られ、 キーワードによってソートされて、出力される。 「パミューテド (permuted)」というのは、文中でキーワードが順番に移動するのを、 円順列 (cyclic permutation) に見立てているかららしい。 「順列索引」と訳されることもある。

上記の文を cow.txt というファイルに保存し、それに対して ‘-A’ オプションのみを付けて ptx を実行してみよう。 その出力は、次のようになる。出力された行のほぼ中央にある (すなわち、少し長めの空白の後ろの) 単語がキーワードである。 大文字小文字を区別してアルファベット順に並んでいるのが、おわかりになるだろう。 各行頭にあるのは、‘-A’ オプションによって生成された参照箇所情報 (ファイル名と行番号) である。

 
$ echo "The cow jumped over the moon." >cow.txt
$ ptx -A cow.txt
cow.txt:1:  .                        The cow jumped over the moon
cow.txt:1:                     The   cow jumped over the moon.
cow.txt:1:                 The cow   jumped over the moon.
cow.txt:1: The cow jumped over the   moon.
cow.txt:1:          The cow jumped   over the moon.
cow.txt:1:     The cow jumped over   the moon.

パミューテド・インデックスの代表的な例としては、 英語などの聖書の巻末に付属している文脈付きの語句索引、「コンコーダンス」を挙げることができる。 実際、この文書でもコンコーダンスをパミューテド・インデックスの同義語として使用している。 なお、この ptx プログラムは、日本語に対応していない。)

ptx 実行の書式は次のうちのどちらかである。

 
ptx [option …] [file …]
ptx -G [option …] [input [output]]

-G’ (または、それと等価な ‘--traditional’) オプションを指定すると、 GNU によるすべての拡張が無効になり、従来のモードで動作するようになる。 従って、いくつかの制限が課されるようになり、プログラムのオプションのデフォルトの値がいくつか変更される。 ‘-G’ が指定されていない場合は、GNU による拡張が常に有効になる。 ptx に対する GNU の拡張については、この文書では折に触れて説明している。 拡張の詳細なリストについては、「GNU による ptx の拡張」の節を御覧になっていただきたい。 See section GNU による ptx の拡張.

個々のオプションについては、以下に続く節で説明する。

GNU による拡張が有効になっていれば、オプションの後ろに 0 個以上の file を指定することができる。file を一つも指定しない場合は、標準入力が読み込まれる。 file を 1 個以上指定した場合、それは入力ファイルの名前であり、 入力ファイルはすべて順番に、あたかもすべてのファイルが結合されているかのように読み込まれる。 とは言え、各ファイル同士は文脈的に完全に分離しており、 参照箇所情報の自動作成を指定している場合に、参照箇所のファイル名や行番号が指し示すのは、 個々の入力テキストファイルのそれである。 どの場合でも、ptx は、パミューテド・インデックスを標準出力に出力する。

GNU による拡張が有効になっていない場合、すなわち、プログラムが従来モードで動作する場合は、 オプションのほかに 0 から 2 個のパラメータを指定できる。パラメータがない場合、 プログラムは標準入力を読み込んで、標準出力にパミューテド・インデックスを出力する。 パラメータが 1 個だけの場合、それが示しているのは、標準入力の代わりに読み込まれるテキストファイル (訳注: 上記書式の input) の名前である。 パラメータが二つある場合、それぞれが示しているのは、読み込み対象の input ファイルと出力先の output ファイルの名前だ。 この場合、二番目のパラメータによって指定されたファイルの元の内容が破壊されることに、 くれぐれも気をつけていただきたい。この動作は、System V の ptx との互換性を維持するために必要になっているものだが、 通常 GNU の規格では、オプションによって指定されるのではない出力パラメータを、使用しないように勧めている。

オプションの値や入力テキストファイルとして指定するいかなるファイルに対しても、 ファイル名の代わりに 1 個のダッシュ ‘-’ を使用することができる。 その場合は、標準入力が使われることになる。もっとも、この習慣をプログラム 1 回の起動につき 1 回以上使うのは、たぶん理屈に合わない。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on June 7, 2022 using texi2html 1.82.