[JM:01060] coreutils-8.22 の info: ptx

Back to archive index

長南洋一 cyoic****@maple*****
2014年 9月 23日 (火) 08:53:17 JST


長南です。

coreutls.info の ptx の章だけプレーンテキストにしたものを送ります。
添付の ptx.tar.gz には、ptx-info.txt (原文) と ptx-ja-info.txt 
(訳文) が入っています。

permuted index というものがさっぱり分からなかったので、やらずにいた
のですが、原文を読んで、動かしてみたら、「ああ、あれか」というもの
でした。permuted index がどんなものかは、翻訳の冒頭の長々しい訳注を
ご覧になってみてください。たいへん見栄えの悪い訳注になってしまって、
もうちょっと何とかならないかと思ってはいるのですが。

"permuted index" には、Web で調べてみると、「順列索引」という訳語が
見つかります。しかし、聖書のコンコーダンスが permuted index ですから、
昔からあってもよさそうな訳語なのに、小学館の「日本国語大辞典」にすら
「順列索引」という見出しは見つかりません。まあ、分かち書きをしない
日本語には向いていないので、このタイプの索引は日本では使われていない。
それで、一般に使われる訳語もないということかもしれません。でも、
パーリ語やサンスクリットの仏典の研究では permuted index が使われている
そうなんですが。

そんなわけで、「パーミューテド・インデクス」とカタカナにしておきました。

それでは、よく分からないことについて。

○  7.5.2 Charset selection

○ 7.5.2 `ptx' が使用する文字セット

  As it is set up now, the program assumes that the input file is coded
  using 8-bit ISO 8859-1 code, also known as Latin-1 character set,
  _unless_ it is compiled for MS-DOS, in which case it uses the character
  set of the IBM-PC.  (GNU 'ptx' is not known to work on smaller MS-DOS
  machines anymore.)  Compared to 7-bit ASCII, the set of characters which
  are letters is different; this alters the behavior of regular expression
  matching.  Thus, the default regular expression for a keyword allows
  foreign or diacriticized letters.  Keyword sorting, however, is still
  crude; it obeys the underlying character set ordering quite blindly.

  現在の設定では、`ptx' プログラムは、入力ファイルが符号化に 8-bit の ISO
  8859-1 コード (Latin-1 文字セットとも言われる) を使用しているものと
  見なすようになっている。ただし、MS-DOS 用にコンパイルされている場合は
  別で、その場合は、IBM-PC の文字セットを使用する (GNU の `ptx' が小型の
  MS-DOS マシンで使えるかどうか、今ではわからないけれど)。7-bit ASCII と
  比べると、ISO 8859-1 の文字セットは、アルファベットの部分が異なって
  いる。そのため、正規表現におけるマッチングの振る舞いが変わってくる。
  キーワードに対するデフォルトの正規表現が (訳注: つまり、GNU の拡張が
  有効なときの `\w+' が)、英語で使用しない文字や、ウムラウトやアクセント
  のような発音区別符の付いた文字を受け入れることになるわけである。
  とは言え、キーワードのソート方法は今だに大雑把であり、使用している
  文字セットの順序にきわめて盲目的に従っている。

要するに、GNU の ptx は、入力テキストファイルの文字コードを ASCII では
なく、ISO 8859-1 として扱う、ということのようです (だから、ドイツ語や
フランス語は扱えるが、日本語は扱えない)。

最初の "As it is set up now" がよくわかりません。一応、「現在の GNU の 
ptx プログラムは、文字セットとして ISO 8859-1 を使うように書かれている、
あるいは、configure あたりでそう設定している」と取りました。

"(GNU 'ptx' is not known to work on smaller MS-DOS machines anymore.)"
の部分もわかりません。言い換えれば、"It is not known anymore that GNU 
'ptx' works on smaller MS-DOS machine." でしょう。「GNU の ptx は、
MS-DOS マシンではもはや使えない」とも取れますし、「GNU の ptx が
DOS マシンで使えているという例を、今では聞いていない (昔は使えたし、
今でも使えるのかもしれないが)」とも取れます。どっちなんでしょう。
私としては、断定を避けて、後者にしておきました。

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

  `-S REGEXP'
  `--sentence-regexp=REGEXP'
       This option selects which regular expression will describe the end
       of a line or the end of a sentence.  In fact, this regular
       expression is not the only distinction between end of lines or end
       of sentences, and input line boundaries have no special
       significance outside this option.  By default, when GNU extensions
       are enabled and if `-r' option is not used, end of sentences are
       used.  In this case, this REGEX is imported from GNU Emacs:

       このオプションでは、行の終わり、文の終わりなどを表す正規表現を
       指定する (訳注: もう少し説明すると、このオプションで指定するのは、
       入力を何で区切るかということである。改行で区切れば、いわゆる行が、
       `ptx' の操作対象となる入力のまとまり (単位) になり、ピリオドなどで
       区切れば、いわゆる文が、入力のまとまりになる。このまとまりが `ptx'
       にとっての文脈である。ただし、出力では、文脈のすべてが表示される
       とはかぎらない。なお、そうしたければ、他のもので入力を区切ることも
       できる)。実際のテキストでは、ここで指定する正規表現のみが、行の
       終わりや文の終わりの指標として使われているとはかぎらない。また、
       入力の区切りに何を指定しようとも、このオプションの外で、特別な意味
       を持つことはない (訳注: すなわち、オプション `-A', `-i', `-o'
       などに影響が及ばない)。デフォルトでは、GNU の拡張が有効なとき、`-r'
       オプションが使われていなければ、文の終わりの方が入力の区切りとして
       使用される。その場合、次の正規表現が GNU Emacs から取り込まれる。

"In fact, this regular expression is not the only distinction between end 
of lines or end of sentences," が何を言っているのか、よくわかりません。
「行末と文末の区別」ならば、「between end of lines "or" end of sentences」
ではなく、「between end of lines "and" end of sentences」でしょう。
一応、「行同士や文同士を分けるもの」と取りました。たとえば、文を入力の
単位にするつもりで、入力の区切りにピリオドや疑問符を指定したとしても、
箇条書きのような、ピリオドなしで終わっている文もあるかもしれないわけです。

"and input line boundaries have no special significance outside this 
option." の部分も、よくわかりません。"input line boundaries" の line を
無視して (つまり、input boundaries、入力の区切りと取って)、オプション 
`-A', `-i', `-o' のことを言っているのだろうと、解釈しておきました。
`-S' の値を文末にしても、`-A' が示す行番号はまさしく行番号ですし、
また `-i' や `-o' の説明に、こういうところがありますから。

  ... the end of line separation of words is not subject to the value of 
  the '-S' option.

  ... 単語の分離は常に行末によって行われて、 `-S' オプションの値の影響を
  受けることはない。

しかし、別の解釈もあると思います。つまり、"input line boundaries" の 
line を無視せずに、「このオプションで行末を入力の区切りとして指定する
場合を除いて、入力行の境界 (すなわち行末) は、ptx に対して特別な意味を
持たない」と解釈することもできそうです。そちらの方が正しいのかもしれません。
なぜなら、'-S' の値が改行でないと、行末に入力の区切りという特別な意味が
なくなるので、'-r' オプションが参照先情報と本文をうまく区別できなくなって
しまうわけですから。ただ、そうすると、今度は `-A' や `-i' や `-o' の
説明とうまくつながりません。`-A' については、上に述べたとおりですし、
`-i' や `-o' では、行末は常に「単語の区切り」という特別な意味を持つの
ですから。

説明がごたごたして、分かりにくくなってしまいました。結局、"input line 
boundaries" を行の区切りと取るか、入力の区切りと取るか -- 言い換えれば、
line は間違えて入った余計な単語なのか、それとも、著者は「入力 "行" の
境界」とはっきり言いたいのか -- ということなんですが ...。

○ 7.5.4 出力のフォーマット

  '-R'
  '--right-side-refs'
       In the default output format, when option '-R' is not used, any
       references produced by the effect of options '-r' or '-A' are
       placed to the far right of output lines, after the right context.
       With default output format, when the '-R' option is specified,
       references are rather placed at the beginning of each output line,
       before the left context.  For any other output format, option '-R'
       is ignored, with one exception: with '-R' the width of references
       is _not_ taken into account in total output width given by '-w'.

       デフォルトの出力フォーマットでは、`-R' オプションを使用しない場合、
       `-r' や `-A' オプションの働きによって生成される参照先情報は、出力行
       の左の端、すなわち、左の文脈の前に表示される。それに対して、デフォ
       ルトの出力フォーマットで、`-R' オプションを指定した場合、参照先
       情報が表示されるのは、各出力行の右端、すなわち、右の文脈の後ろ
       になる。ほかのいかなる出力フォーマットにおいても、基本的に `-R'
       オプションは無視されるが (訳注: デフォルト以外のフォーマットでは、
        `-R' オプションがあってもなくても、参照先情報は右端に表示される)、
       それでも、`-R' オプションが付いていると、参照先情報の長さが、`-w' 
       で指定した出力行全体の長さの内に入らないという働きだけは残る。

この原文は左右が逆だと思います。

  '-F STRING'
  '--flac-truncation=STRING'
     ---- (省略) ----
       STRING may have more than one character, as in '-F ...'.  Also, in
       the particular case when STRING is empty ('-F ""'), truncation
       flagging is disabled, and no truncation marks are appended in this
       case.

       STRING には、`-F ...' のように 1 個以上の文字を指定してもよい。
       また、STRING が空文字列 (`-F ""') の場合には、省略のフラグは
       立てられないことになり、従って、省略の指標は一切付加されない。

"truncation flagging is disabled" というのが、よくわかりません。
プログラム内部での話でしょうか。

  '-O'
  '--format=roff'
       Choose an output format suitable for 'nroff' or 'troff' processing.
       Each output line will look like:

            .xx "TAIL" "BEFORE" "KEYWORD_AND_AFTER" "HEAD" "REF"

       so it will be possible to write a '.xx' roff macro to take care of
       the output typesetting.  This is the default output format when GNU
       extensions are disabled.  Option '-M' can be used to change 'xx' to
       another macro name.


       出力フォーマットとして、`nroff' や `troff' で処理するのに適した
       形式を選択する。各出力行は次のようになる。

            .xx "TAIL" "BEFORE" "KEYWORD_AND_AFTER" "HEAD" "REF"

       従って、あとは、出力各フィールドの書体を指定する roff のマクロ
       `.xx' を書き込むだけですむ。この出力フォーマットは、GNU の拡張が
       無効なときのデフォルトである。`xx' を別のマクロ名に変更するには、
       `-M' オプションを使用すればよい (訳注: `-M "xx"' のように、`xx'
       の部分のみ指定する)。

'-T'
'--format=tex'

       Choose an output format suitable for TeX processing.  Each output
       line will look like:

            \xx {TAIL}{BEFORE}{KEYWORD}{AFTER}{HEAD}{REF}

       so it will be possible to write a '\xx' definition to take care of
       the output typesetting.  Note that when references are not being
       produced, that is, neither option '-A' nor option '-r' is selected,
       the last parameter of each '\xx' call is inhibited.  Option '-M'
       can be used to change 'xx' to another macro name.

       出力フォーマットとして、TeX で処理するのに適した形式を選択する。
       各出力行は、次のようになる。

            \xx {TAIL}{BEFORE}{KEYWORD}{AFTER}{HEAD}{REF}

       従って、あとは、出力各フィールドの書体を指定する `\xx' の定義を
       書き込めばよいことになる。なお、参照先情報の生成が行われていない
       とき、すなわち、`-A' オプションも `-r' オプションも指定されて
       いない場合は、各 `\xx' 呼び出しの最後の引数は出力されないことに
       注意していただきたい。`xx' を別のマクロ名に変更するには、`-M' 
       オプションを使用すればよい (訳注: `-M "xx"' のように、`xx'の
       部分のみ指定する) 。

'-O', '-T' のどちらについても、"so it will be possible to write ...
to take care of the output typesetting." の部分がうまく訳せませんでした。
だいたいこういうことだと思うのですが、もっとよい訳し方もあるだろうと
思います。

○ 7.5.5 GNU による `ptx' の拡張

       Having output parameters not introduced by options is a dangerous
       practice which GNU avoids as far as possible.  So, for using 'ptx'
       portably between GNU and System V, you should always use it with a
       single input file, and always expect the result on standard output.
       You might also want to automatically configure in a '-G' option to
       'ptx' calls in products using 'ptx', if the configurator finds that
       the installed 'ptx' accepts '-G'.

       オプションで指定しない出力パラメータを持つのは、危険な習慣であり、
       GNU では、できるだけ避けるようにしている。従って、`ptx' を GNU と
       System V のどちらでも、問題なく同じように使いたいなら、入力ファイル
       を常に一つしか使わず、出力は必ず標準出力で受け取るようにした方が
       よい。さらに言うと、インストールされている `ptx' が `-G' オプション
       を受け入れるものだった場合、`ptx' を使用するアプリケーションを
       作成することになったら、`ptx' を呼び出すとき、必ず `-G' オプション
       を付けるようにしておきたくなるかもしれない。

"You might also want ..." が前の文とどうつながっているのか、よく分かって
いません。products というのは、シェルスクリプトなどの ptx を使ったアプリ
ケーションのことでしょう。"configure in" というのは、「組み込む」という感じ
でしょうか。ついでに言うと、configurator というのもよく分かりません。
一応、ptx を使った products の作成者と考えておきました。

GNU の ptx を他人も使うシェルスクリプト中で使う場合には、ptx に '-G' を
必ず付けるようにすれば、古い ptx に慣れたユーザも昔の ptx と同じように
使うことができて、親切である、ということなんでしょうか。

     * The program makes better use of output line width.  If GNU
       extensions are disabled, the program rather tries to imitate System
       V 'ptx', but still, there are some slight disposition glitches this
       program does not completely reproduce.

     * このプログラムは、出力行の長さを System V の `ptx' より上手に処理
       する。GNU の拡張が無効になっている場合、このプログラムは System V
       の `ptx' の動作をできたら真似ようとするが、それでも、System V の
       ちょっとした癖のいくつかは、完全には再現できない。

"some slight disposition glitches" がよく分かりません。
 glitch が「ちょっとした事故、異常、不規則、故障、不具合」だとして、
disposition は、「傾向」なのか「配置」なのか。私としては、「傾向」と
取って、「System V の ptx が持つ傾向における不規則性」なら、「癖」
ぐらいでよいだろうと考えたのですが、「出力の配置における不具合」かも
しれません。そうならば、「... それでも、System V の ptx でフィールドの
表示が、たまにちょっと乱れるところまで再現するわけではない」くらいで
しょうか。

-- 
長南洋一
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: ptx.tar.gz
型:         application/octet-stream
サイズ:     15452 バイト
説明:       無し
下載 



linuxjm-discuss メーリングリストの案内
Back to archive index