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

7.5.3 単語の選択と入力の処理

-b file
--break-file=file

このオプションを使えば、単語を構成するのはどんな文字かを、‘-W’ とは別のやり方で定義することができる。このオプションでファイルを指名し、 そこに、単語の構成要素になることができない文字のリストを入れておくのである。 このファイルは、Break file と呼ばれる。Break file に含まれていないいかなる文字も、単語の構成要素になるわけだ。‘-b’ と ‘-W’ の両方のオプションが指定されている場合は、‘-W’ の方が優先され、‘-b’ は無視される。

GNU の拡張が有効になっているとき、改行を単語区切り文字 (break character) にしない唯一の方法は、単語区切り文字をすべて Break file に書き込み、 そこに改行を全く含めないことである。Break file 末尾の改行も除かなければならない。 GNU の拡張が無効な場合、スペース、タブ、改行は、それが Break file に含まれていなくても、常に単語区切り文字と見なされる。

-i file
--ignore-file=file

このオプションで指名するファイルには、 出力するコンコーダンスでキーワードとして採用しない単語のリストを入れておく。 このファイルは、Ignore file と呼ばれる。 このファイルは、1 行 1 単語の形式であり、単語の分離は常に行末によって行われて、 ‘-S’ オプションの値の影響を受けることはない。

-o file
--only-file=file

このオプションで指名するファイルには、 出力するコンコーダンスでキーワードとして採用する単語のリストを入れておく。 このファイルに書かれていないどんな単語も、キーワードとして採用されることはない。 このファイルは、Only file と呼ばれる。 このファイルは、1 行 1 単語の形式であり、単語の分離は常に行末によって行われて、 ‘-S’ オプションの値の影響を受けることはない。

Only file として使われるデフォルトのファイルは存在しない。Only file と Ignore file の両方が指定されている場合に、ある単語がキーワードと見なされるのは、 その単語が Only file に存在し、しかも Ignore file に存在しないときだけである。

-r
--references

各入力行において、行頭にあるホワイトスペース以外の文字の連続を参照箇所情報 (訳注: たとえば、ファイル名、ページ番号、行番号など) として扱うようにする。この参照箇所情報は、その入力行がどこにあるかを、 作成されるパミューテド・インデックス中で示すために用いられる。 参照箇所情報の生成についての詳細は、次節「出力のフォーマット」を御覧いただきたい。 See section 出力のフォーマット. このオプションを使用すると、‘-S’ オプションのデフォルトの値が変更されることになる (訳注: すなわち、GNU の拡張が有効な場合も、‘-S’ オプションのデフォルト値が文末ではなく、行末になる)。

このオプションを使用したとき、ptx プログラムは、参照箇所情報が出力される文脈に混入しないようにするが、 その試みはそれほど徹底したものではない。しかし、文脈が改行できちんと終止していれば、 ptx はその試みに成功する。もし、‘-r’ オプションが ‘-S’ オプションのデフォルト値とともに使われているか、 あるいは、GNU の拡張が無効になっているならば、この条件は必ず満たされることになる。 従って、その場合は、参照箇所情報が出力される文脈からきちんと分離される。

(訳注: 文脈 (context) というのは、 出力については、キーワードとその前後と考えておけばよいが、入力について言うと、 ptx が操作の対象にする本文の単位 — 入力のまとまり — を指すことになる。 ‘-S’ の値によって、普通は文か、行になる。)

-S regexp
--sentence-regexp=regexp

このオプションでは、行の終わり、または文の終わりを示す正規表現を指定する。

(訳注: もう少し説明すると、このオプションで指定するのは、 入力を何で区切るかということである。改行で区切れば、いわゆる行が、ptx の操作の対象となる入力のまとまり (入力の単位) になり、 ピリオドなどで区切れば、いわゆる文が、入力のまとまりになる。 このまとまりが ptx にとっての文脈でもある。 ただし、出力では、文脈のすべてが表示されるとはかぎらない。 なお、そうしたければ、行末や文末以外で入力を区切ることもできる。)

実際のテキストでは、ここで指定される正規表現のみが、 行の終わりや文の終わりの指標として使われているとはかぎらない。 また、入力の区切りに何を指定しようとも、このオプションの外で特別な意味を持つことはない (訳注: すなわち、オプション ‘-A’, ‘-i’, ‘-o’ などには影響が及ばない)。デフォルトでは、GNU の拡張が有効なとき、‘-r’ オプションが指定されていなければ、文の終わりの方が入力の区切りとして使われる。 その場合は、GNU Emacs から取り込まれた次の正規表現が使用される。

 
[.?!][]\"')}]*\\($\\|\t\\|  \\)[ \t\n]*

GNU の拡張が無効になっている場合や、‘-r’ オプションが指定されている場合は、 行の終わりの方が入力の区切りとして使用される。 その場合、デフォルトの正規表現は、単に次のものである。

 
\n

空の regexp を使用するのは、行末や文末の認識を全く無効にするのと同じである。 その場合、ファイル全体が、たった 1 個の長い行、あるいは、長い文と見なされることになる。 ユーザとしては、オプション ‘-F ""’ を使用して、省略の印の生成も全く行わないようにしたくなるかもしれない。 See (emacs)Regexps section ‘Syntax of Regular Expressions’ in The GNU Emacs Manual.

キーワードがたまたま入力行や入力文の先頭近くにあると、 出力する文脈行の行頭に、使用しない領域が生ずることがよくある。 また、キーワードが入力行や入力文の末尾近くにあると、 出力する文脈行の行末に、使用しない領域がしばしば生ずる。 ptx プログラムは、その文脈を折り返して、そうした不使用領域を埋めようと試みる。 すなわち、その入力行や入力文の後続する部分 (tail) を使って、 出力する行の左にある不使用領域を埋め、その入力行や入力文の先行する部分 (head) を使って、出力する行の右にある不使用領域を埋めるのである。

このオプションの引数中では、ユーザーの便宜のために、 C 言語由来のよく使うバックスラッシュ・エスケープシーケンスの多くが、ptx そのものによって認識され、対応する文字に変換されるようになっている。

-W regexp
--word-regexp=regexp

このオプションでは、各キーワードとなる単語とはどのようなものかを示す正規表現を指定する。 デフォルトでは、GNU の拡張が有効になっていれば、単語とはアルファベットの文字の連続である。 すなわち、使用される正規表現は ‘\w+’ だ。 GNU の拡張が無効な場合、デフォルトで単語と見なされるのは、 何であれ、スペース、タブ、改行で区切られているものである。 この場合、使用される正規表現は ‘[^ \t\n]+’ になる。

regexp に空の文字列を指定するのは、このオプションを使用しないのと同じことである。 See (emacs)Regexps section ‘Syntax of Regular Expressions’ in The GNU Emacs Manual.

このオプションの引数中では、ユーザーの便宜のために、 C 言語で見られるような、よく使うバックスラッシュ・エスケープシーケンスの多くが、 ptx そのものによって認識され、対応する文字に変換されるようになっている。


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

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