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

7. ソートされたファイルの処理

これらのコマンドは,ソートされたファイルで働く(あるいはそれを生成する)コ マンドです.


7.1 sort: テキストファイルをソート

sortは,与えられたファイル,または与えられない場合や,`-'の fileからの全ての行を,ソート,統合,または比較します.デフォルトで, sortは結果を標準出力に書き出します.概要です.

 
sort [option]… [file]…

sortは,処理時に3つのモードがあります.ソート(デフォルト),統合, そしてソートされてることの調査です.以下のオプションで処理モードを変更し ます.

` -c'

与えられたファイルが,すでにソートされているかどうか調査します.全てがソー トされていない場合,エラーメッセージを出力し,1のステータスで終了します. それ以外の場合は正常に終了します.

` -m'

与えられたファイルを,グループ化してソートすることで,統合します.それぞ れの入力ファイルは,個別にソートされている必要があります.それは常に,統 合ではなくソートのために働きます.統合は,それが動作する場合,より速いた め提供されています.

行の対が,以下のように比較されます.キーフィールドが指定された場合, sortは,それぞれのフィールドの組を,コマンドラインで指定された順 番で,関連する順序オプションで,差が見つかるまで,またはフィールドの残り が無くなるまで比較します.指定されない場合は,全てに比較に, LC_COLLATEロケールで指定された,文字の対照する順番を使用します.

大域的なオプション`Mbdfinr'が与えられて,キーフィールドが指定されて いない場合,sortは大域的なオプションに従い,行全体を比較します.

最終的に,全てのキーが同じとき(または,順序オプションが全く指定されてい ない場合),最後の手段として,sortは行全体を比較します.最後の手段 は,`-r'の大域的なオプションを尊重して比較します.`-s' (stable)オプションは,この最後の手段では利用できず,それは,全てのフィー ルドの比較が同じ行は,元の相対的な順序のままにするためです.フィールド, または,大域的なオプションが指定されない場合,`-s'は効果がありませ ん.

GNU sort は,(全てのGNUユーティリティで指定されるように)入力行の 長さの制限や,行で許可されるバイト数の限界がありません.更に,入力ファイ ルの最終バイトが改行でない場合,GNU sortは,黙ってそれを供給しま す.行の後ろの改行は,比較の目的では行の一部です.例えば,ASCIIロケー ルでオプションを用いない場合,ASCIIの対照の順序では,タブは改行の前 にあるので,タブで始まる行は空の行の前に来ます.

あらゆるエラーで,sortは`2'のステータスで終了します.

環境変数TMPDIRが設定されている場合,sortは,その変数を `/tmp'の代わりの一時ファイルのためのディレクトリとして使用します. `-T tempdir'オプションは,順序的に環境変数に優先します.

以下のオプションは,出力行の順序に影響します.それらは,大域的,またはキー フィールドの一部として指定可能です.キーフィールドが指定されていない場合, 大域的なオプションは行全体の比較に対して適用されます.それ以外では,大域 的なオプションは,それ自身オプションが指定されていないキーフィールドに継 承されます.`-b',`-d',`-f',そして`-i'オプションは, LC_CTYPEロケールに従い,文字を分類します.

` -b'

それぞれの行でソートするキーを探すとき,前の空白を無視します.

` -d'

phone directoryの順序でソートします.ソート時に,文字,数字,そし て空白以外の全ての文字は無視されます.

` -f'

ソート時に,小文字を大文字と同じに扱い,例えば,`b'と`B'は同等 にソートされます.

` -g'

数値的なソートをし,それには,それぞれの行のプレフィクスを倍精度浮動小数 点の数に変換するため,標準C関数strtodを使用します.これで, 1.0e-3410e100のような浮動小数点の数を,科学的な表記方で 指定できます.オーバーフローや,アンダーフロー,変換エラーは報告しません. 以下の対照の順序を使用します.

他に選択肢が無い場合のみ,このオプションを使用してください.`-n'よ りはるかに遅く,浮動小数点に変換するとき,情報を失うはずです.

` -i'

印刷不可能な文字を無視します.

` -M'

あらゆる量の空白と,以下に月の名前の省略が続くものから成り立つ,最初の文 字列は,大文字に覆われ,`JAN' < `FEB' < … < `DEC'の 順に比較されます.無効な名前は,有効な名前の下になります.LC_TIME ロケールは,月の綴を決定します.

` -n'

数値的なソートです.数字でそれぞれの行を開始します.特に,オプションの空 白,オプションの`-'記号,そして,1000で区切られたり,小数点文字とゼ ロ以上の桁を続けることが可能な,ゼロ以上の桁から成り立ちます. LC_NUMERICロケールで,小数点文字と1000区切りを指定します.

sort -nは,浮動小数点の数を表現する文字列を比較するため,慣習的と は思われない手法を使用します.最初にそれぞれの文字列をC double形 式に変換して,それらの値を比較するのではなく,ソートは,2つの文字列の小 数点文字を一列に並べて,一度に文字の列を比較します.このアプローチを使う 1つの利益は速度です.実際には,それは,2つの対応する文字列を倍精度浮動小 数点に(または,文字列を整数に)変換し,倍精度浮動小数点を比較するより効率 的です.更に,精度に対応する損失はありません.それぞれの文字列を比較前に doubleに変換することは,ほとんどのシステムで16桁程度に精度が制限 されるでしょう.

前置される`+'も,指数表記も認識されません.そのような文字列を数値的 に比較するために,`-g'オプションを使用してください.

` -r'

比較の結果を逆順にし,より大きなキー値を持つ行が,出力で後ろになる代わり に,より早く現われるようになります.

その他のオプションは以下の通りです.

` -o output-file'

標準出力の代わりに,output-fileに出力を書き出します. output-fileが入力ファイルの1つの場合,sortはそれを,ソート 前に一時ファイルにコピーし,output-fileに出力を書き出します.

` -t separator'

それぞれの行からソート行を検索するとき,フィールドセパレータとして,文字 separatorを使用します.デフォルトで,フィールドは,空白でない文字 と空白文字の間の空の文字列で分離されます.すなわち,入力行` foo bar'が与えられた場合,sortはそれを,フィールド` foo'と ` bar'に分離します.フィールドセパレータは,フィールドの前やフィー ルドの後の部分とは考えられません.

` -u'

デフォルトの場合や`-m'オプションに対し,比較が等しい行の順序の最初 のみを出力します.`-c'オプションに対し,比較が等しい連続した行の対 が無いことを調査します.

` -k pos1[,pos2]'

ソートフィールドを指定するための,POSIXの推薦されるオプションです. フィールドは,pos1pos2(または,pos2が省略された場合 は行末)の間の行の部分から成り立つ,全てを包括します.フィールドと 文字の位置は,1から番号付けされます.そのため,2番目のフィールドをソート するため,`-k 2,2'を使用してください.以下により多くの例があります.

` -z'

入力を行のセットとして扱い,ASCII LF (Line Feed)の代わりにゼロ バイト(ASCII NUL (Null)文字)で終端します.このオプションは,任 意のパス名を(ラインフィード文字を含んでいても)確実に処理するため, `perl -0'や,`find -print0'と`xargs -0'と組み合わせると便 利です.

` +pos1[-pos2]'

時代遅れで,ソートフィールドを指定するための伝統的なオプションです.フィー ルドは,行のpos1pos2(または,pos2が省略された場合は 行末)を含まない間から成り立ちます.フィールドと文字の位置は,0か ら番号付けされます.以下を見てください.

更に,GNU sortが正確に1つの引数で呼び出されたとき,オプション `--help'と`--version'は認識されます.See section 共通のオプション.

歴史的な(BSDとSystem Vの)sortの実装は,いくつかのオプションの解釈 で異なり,特に,`-b',`-f'と`-n'です.GNU sortは, POSIXの動作に従い,それは通常(常にではない!)System V の動作に似てい ます.POSIXによると,`-n'は,もはや`-b'を暗示しません.一 貫性のため,`-M'も同様に変更されました.これは,分かりにくい場合の フィールドの指定で,文字の位置の意味に影響するかもしれません.唯一の訂正 は,明示的に`-b'を加えることです.

`-k'や`+'オプションを用いたソート時のフィールド指定の位置は, `f.c'形式を持ち,fは使用するフィールド数で, cは(`+pos'に対する)フィールドの最初から,または, (`-pos'に対する)前のフィールドの終りからの,最初の文字数です. `.c'が省略された場合,フィールドの最初の文字を用います. `-b'オプションが指定された場合,指定したフィールドの`.c' の部分は,(`+pos'に対する)フィールドの最初の空白ではない文字 から,または,(`-pos'に対する)前のフィールドから続く最初の空 白ではない文字から数えます.

ソートキーオプションは,オプション文字`Mbdfinr'を加えることが可能で, その場合,大域的な順序オプションは,特定のフィールドに使用されません. `-b'オプションは,指定したフィールドの`+pos'と `-pos'の部分の,一方または両方に独立に適用され,大域的なオプ ションを継承する場合,両方に適用されます.キーは複数のフィールドに跨るこ とができます.

ここに,様々なオプションの組合せを紹介する例があります.その中で,ソート キーを指定するためのPOSIX `-k'オプションが,時代遅れの `+pos1-pos2'構文の代わりに使用されています.


7.2 uniq: ファイルのユニーク化

uniqは与えられたファイル,または与えられない場合や`-'の input名に対し,ユニークな行を書き出します.概要です.

 
uniq [option]… [input [output]]

デフォルトで,uniqはソートされたファイルのユニークな行を出力し, すなわち,一意に識別可能な行以外を全て削除します.オプションで,そうする 代わりに,1度しか現われない行を表示したり,1度以上現われる行を表示したり できます.

入力ファイルはソートされている必要があります.入力がソートされていない場 合,おそらくsort -uを使用したいと思います.

outputファイルが無い場合,uniqは標準出力に書き出します.

このプログラムは,以下のオプションも受け入れます.共通のオプション, も参照してください.

` -n'
` -f n'
` --skip-fields=n'

ユニークさを調査する前に,それぞれの行のnフィールドスキップします. フィールドは,少なくとも1対上のスペースやタブで区切られた,非スペース, 非タブ文字の並びです.

` +n'
` -s n'
` --skip-chars=n'

ユニークさの調査の前に,n文字スキップします.フィールドと文字のス キップオプションを両方とも使用した場合,フィールドが最初にスキップされま す.

` -c'
` --count'

それぞれの行で同じものが発生した回数を出力します.

` -i'
` --ignore-case'

行の比較時に大文字小文字の違いを無視します.

` -d'
` --repeated'

重複する行のみを出力します.

` -D'
` --all-repeated'

全ての重複する行で,重複する行のみを出力します.このオプションは,主に他 のオプションと組み合わせると便利で,例えば,大文字小文字を無視したり,選 択したフィールドのみを比較する場合です.これは,GNUの拡張です.

` -u'
` --unique'

ユニークな行のみ出力します.

` -w n'
` --check-chars=n'

(指定されたあらゆるフィールドと文字をスキップした後) それぞれの行の n文字比較します.デフォルトで,行の残りが比較されます.


7.3 comm: 2つのソートされた行と行の比較

commは,2つの入力ファイルの共通の行とユニークな行を標準出力に書き 出します.`-'のファイル名は標準有力を意味します.概要です.

 
comm [option]… file1 file2

commを使用する前に,LC_COLLATEで指定された対照表の順に入力 ファイルをソートする必要があり,後置される改行が重要です.入力ファイルが 改行文字で終らない場合,改行は暗黙に付加されます.オプションを用いない sortコマンドは,commの入力に適したファイルを常に出力します.

オプションが無い場合,commは3列の出力を生成します.列の1は file1のユニークな行を含み,列の2はfile2のユニークな行を含み, 列の3は両方のファイルに共通な列を含みます.これ無は単一のTAB文字で分けら れます.

オプションの`-1',`-2'と,`-3'は,対応する列の出力を抑制 します.共通のオプション,も参照してください.

他の比較ユーティリティと異なり,commは比較の結果に依存しない終了 ステータスがあります.上記の通常の比較で,commはゼロのコードで終 了します.エラーがあった場合,ゼロでないステータスで終了します.


7.4 tsort: 位相幾何学的なソート

tsortは,位相幾何学的なソートを,与えられたファイルや,入力ファイ ルが与えられない場合や`-'のファイルに対しては標準入力で実行します. 概要です.

 
tsort [option] [file]

tsortは,その入力を文字列の組として読み込み,空白で分離し,それは 不完全な順序で示されています.出力は,与えられた不完全な順序に対応する完 全な順序です.

例えば以下のようにします.

 
tsort <<EOF
a b c
d
e f
b c d e
EOF

これは以下の出力を生成します.

 
a
b
c
d
e
f

tsortは入力で円を検出し,出現した最初の円を標準エラーに書き出しま す.

与えられた不完全な順序が,一般に唯一の完全な順序でないことに注意してくだ さい.

オプションは,`--help'と`--version'のみです.See section 共通のオプション.


7.5 ptx: 並べ替えた索引の生成

ptxは,テキストファイルを読み込み,その内容のそれぞれのキーワード を用いて,並べ替えられた索引を本来は生成します.呼び出しの形態は以下の1 つです.

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

`-G'(または同等の: `--traditional')オプションは,全てのGNU拡張 を利用不可にし,伝統的なモードに切替え,そのため,いくつかの制限と,プロ グラムのオプションデフォルト値を変更します.`-G'が指定されていない 場合,GNU拡張は常に利用可能です.ptxのGNU拡張は,このドキュメント に適切に文章化されています.完全なリストは,See section ptxのGNU拡張.

個別のオプションは,以下のセクションで説明されます.

GNU拡張が利用可能なとき,ゼロ,1つまたは複数のfileが,オプションの 後にあります.fileが無い場合,プログラムは標準入力から読み込みます. 1つまたは複数fileある場合,全ての入力ファイルが連結されているかの ように,その回で全て読み込まれる入力ファイル名を与えます.しかし,それぞ れのファイルの間に完全に文脈の終りが有り,自動的な参照が要求されるとき, ファイル名と行番号は,入力ファイルの個別のテキストを参照します.全ての場 合で,プログラムは並べ替えられた索引を標準出力に書き出します.

GNU拡張が利用可能でないとき,すなわち,伝統的なモードでプログラム が動作しているとき,ゼロ,1つまたは2つのパラメータがオプションの後にあり ます.パラメータが無い場合,プログラムは標準入力を読み込み,標準出力に並 べ替えた索引を生成します.1つのパラメータのみの場合,それは標準入力の代 わりに読み込まれるテキストinputを指名します.2つのパラメータが与え られた場合,それらはそれぞれ,読み込まれるinputファイル名と,生成 するoutputファイル名を与えます.この場合,2番目のパラメータとして 与えられるファイルの内容が壊れることに十分注意してください.この 動作は,出力パラメータを妨げるGNU標準がオプションで導入されたのではない ので,System V ptx互換のみにより規定されています.

あらゆるファイルは,オプション値や入力テキストファイルとして指 名され,単一のダッシュ-は使用でき,その場合標準入力と考えられます. しかし,プログラムの呼び出しに1回以上,この慣習を使用する意味はありませ ん.


7.5.1 一般的なオプション

` -C'
` --copyright'

著作権とコピー条件の短いメモを出力し,それ以上何も処理せず終了します.

` -G'
` --traditional'

既に拡張されているので,このオプションは,ptxに対する全てのGNU拡 張を利用不可にし,伝統的なモードに切替えます.

` --help'

短いヘルプを標準出力に出力し,それ以上何も処理せず終了します.

` --version'

プログラムのバージョンを標準出力に出力し,それ以上何も処理せずに終了しま す.


7.5.2 文字セットの選択

現在セットアップされているので,プログラムは,入力ファイルが8ビットISO 8859-1コードを使用して符号化されていると考え,Latin-1文字セットだという ことも分かりますが,それは,MS-DOSでコンパイルされていない場合で, その場合はIBM-PCの文字セットを使用します.(GNU ptxは,より小さい MS-DOSマシンで働く方法を知りません.) 7-bit ASCIIに比べて,文字であ る文字セットは異なっていて,この事実は正規表現の一致の動作を変更します. そのため,キーワードに対するデフォルトの正規表現で,外国や発音記号の文字 が可能となります.しかし,キーワードのソートはそのままです.それは,全く 盲目的に基礎的な文字セットの順序に従います.

` -f'
` --ignore-case'

ソートに対し,小文字を大文字にまとめます.


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

` -b file'
` --break-file=file'

このオプションは,単語を生成する文字の記述方法(`-W')の代替物を提供 します.それは,単語の部分にならない文字のリストを含むファイル名を導入し, このファイルはブレークファイルと呼ばれます.ブレークファイルの一部 でないあらゆる文字は単語の要素です.`-b'と`-W'を両方指定した場 合,`-W'が優先され`-b'は無視されます.

GNU拡張が利用可能な場合,改行をブレーク文字とすることを避ける唯一の方法 で,ファイルの終りにさえ改行が全く無いファイルに,全てのブレーク文字を書 くことでできます.GNU拡張が利用不可能な場合,スペース,タブ,改行は,ブ レークファイルの含まれている場合でさえ,常にブレーク文字と考えます.

` -i file'
` --ignore-file=file'

このオプションで関連付けられたファイルは,用語索引の出力でキーワードとさ れない単語のリストを含みます.それは無視ファイルと呼ばれます.ファ イルは,正確にそれぞれの行に1単語を含みます.単語を分ける行の終りは, `-S'オプションの値を適用されません.

このオプションが指定されない場合,デフォルトの無視ファイルはptxが 使用され,インストール時に変更されていない場合,通常は `/usr/local/lib/eign'で見つかります.デフォルトの無視ファイルの影響 を無くしたい場合,代わりに/dev/nullを指定してください.

` -o file'
` --only-file=file'

このオプションで関連付けられたファイルは,用語索引の出力に維持される単語 のリストを含み,このファイルで述べれいないあらゆる単語は無視されます.ファ イルはオンリーファイルと呼ばれています.ファイルは,正確にそれぞれ の行に1単語を含みます.単語を分ける行の終りは,`-S'オプションの値を 適用されません.

オンリーファイルにデフォルトはありません.オンリーファイルと無視ファイル の両方にある場合,オンリーファイルで与えられ,無視ファイルで与えられない 単語のみキーワードに適用されます.

` -r'
` --references'

それぞれの入力行で,空白文字でない前置された並びは,生成され並べ替えされ た索引の,この入力行を識別する目的を持つ参照として受け入れます.参照生成 に関するより多くの情報は,See section 出力の書式. このオプショ ンの使用で,オプション`-S'に対するデフォルト値を変更します.

このオプションの使用で,プログラムは出力の文脈からの参照の削除の試みが非 常に難しくなりますが,文脈の終りが正確に改行で終るとき,そうする ことに成功します.オプション`-r'が`-S'デフォルト値とともに使用 された場合や,GNU拡張が利用不可能なとき,この条件は常に満たされ,参照は 完全に出力文脈から除外されます.

` -S regexp'
` --sentence-regexp=regexp'

このオプションは,行末や文の終りを記述する正規表現を選択します.実際,こ の正規表現の効果以外に,行末や文の終わりのには他の区別があり,入力行の境 界は,このオプションの外で特別な重要性はありません.デフォルトで,GNU拡 張が使用可能なときや,`-r'オプションが使用されていない場合,文の終 りが使用されます.この場合,正確なregexはGNU emacsから取り込まれま す.

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

GNU拡張が使用不可能なときや,`-r'オプションが使用されている場合は, 常に行の終りが使用され,この場合デフォルトのregexpは以下のようにな ります.

 
\n

空のregexpの使用は,行末と文の終りの認識を完全に不可能にすることと 同等です.この場合,ファイル全体が単一の大きな行や文と考えられます.ユー ザは,オプション`-F ""'を通じて,全ての切り詰めフラグの生成を,不許 可にしたい場合もあります.See (emacs)Regexps section `Syntax of Regular Expressions' in The GNU Emacs Manual.

キーワードが入力行や文の最初で発生したとき,出力文脈の行の最初に利用され ない領域を作成することが良くあります.キーワードが入力行や文の終り近くで 発生したとき,出力文脈の行の終りに利用されない領域を作成することが良くあ ります.プログラムは,その中の文脈の周りを包むことで,それらの領域を補充 しようとします.入力行や文の頭は,出力行の右の利用されていない行を補充す るために使用されます.

ユーザの利便性の問題として,C言語で見つかる,多くの通常のバックスラッシュ されたエスケープ・シーケンスは認識され,ptx自身によって対応する文 字に変換されます.

` -W regexp'
` --word-regexp=regexp'

このオプションは,それぞれのキーワードを記述している正規表現を選択します. デフォルトで,GNU拡張が利用可能な場合,単語は文字の並びです.使用される regexpは`\w+'です.GNU拡張が利用不可能な場合,単語はデフォル トで,スペース,タブ,または改行で終るあらゆるものです.使用される regexpは`[^ \t\n]+'です.

空のregexpは,このオプションを使用しないのと同等で,デフォルト動作 になります.See (emacs)Regexps section `Syntax of Regular Expressions' in The GNU Emacs Manual.

ユーザの利便性の問題として,C言語で見つかる,多くの通常のバックスラッシュ されたエスケープ・シーケンスは認識され,ptx自身によって対応する文 字に変換されます.


7.5.4 出力の書式

出力書式は,主に`-O'と`-T'オプションで制御され,それは以下の表 で記述されています.`-O'も`-T'も選択されていないときで,GNU拡 張が利用可能な場合,プログラムは dumb 端末に適した出力書式を選択します. それぞれのキーワードの発生は,出力を行の中心にし,周りをその左右の文脈で 囲います.それぞれのフィールドは適切に正当化されるので,用語索引の出力は 容易に観察できます.特別な特徴として,自動的な参照がオプション`-A' で指定されていて,左の文脈の前に出力されている,すなわち,オプション `-R'が選択されていない場合,コロンが参照の後に追加されます. これは,GNU Emacsがnext-errorを処理することでうまく作用します.こ のデフォルト出力書式では,改行やタブのようなそれぞれの空白文字は,正確に 1つのスペースに単に変換され,連続したスペースの圧縮は特に試みません.こ れは将来変更されるかも知れません.これらの空白文字以外の,256文字の基本 セットの全ての他の文字は逐語的に転送されます.

出力書式は,以下のオプションで更に制御されます.

` -g number'
` --gap-size=number'

出力行のフィールド間の最小の空白の隙間を選択します.

` -w number'
` --width=number'

それぞれの最終行の出力最大幅を選択します.参照が使用される場合, `-R'オプションの値に依存して,それらは出力最大幅に含められたり省か れたりします.これらのオプションが選択されていない場合,すなわち,参照が 左の文脈の前に出力されるとき,出力最大幅は全ての参照の最大長まで考慮に入 れられます.このオプションが選択された場合,すなわち,参照が右の文脈の後 に出力されるとき,出力最大幅は参照が使用するスペースの量も,前にある隙間 も考慮に入れられません.

` -A'
` --auto-reference'

自動的な参照を選択します.それぞれの入力行は,ファイル名と間に単一のコロ ンを用いた行の序数で作成された自動的な参照を持ちます.しかし,標準入力が 読み込まれているときは,ファイル名は空です.`-A'と`-r'の両方が 選択された場合,入力参照は読み込まれスキップされますが,自動的な参照は出 力時に利用され,それは入力参照に優先します.

` -R'
` --right-side-refs'

デフォルト出力書式で,オプション`-R'が使用されていないとき,オプショ ン`-r'や`-A'の影響で生成されるあらゆる参照は,右の文脈の後に, 出力行の右端に与えられます.デフォルト出力書式で,オプション`-R'が 指定された場合,参照は,左の文脈の前に,それぞれの出力行の始めに代わりに 与えられます.それ以外のあらゆる出力書式に対し,`-R'が選択されたと きは常に,参照の幅が`-w'で与えられた全体の出力幅に含まれない という事実以外,オプション`-R'はほとんど無視されます.

GNU拡張が利用不可能なときは,常にこのオプションは自動的に選択されます.

` -F string'
` --flac-truncation=string'

このオプションは,文字列stringの使用が報告された出力での,あらゆる 切り詰めを要求します.ほとんどの出力フィールドは,オプション`-S'が 選択されたのと同様に,現在の行や現在の文の始めや終りに向かって,理論的に 展開されます.しかし,許可される出力行幅の最大値は存在し,オプション `-w'で変更でき,それは様々な出力フィールドに対しスペースで更に分割 されます.現在の行に適するよう,その行の最初や終りまで拡張することができ ないため,フィールドが切り詰める必要があるとき,切り詰めが発生します.デ フォルトで,使用される文字列は単一のスラッシュで,`-F /'のようにな ります.

stringは1文字以上が可能で,`-F ...'のようになります.また, stringが空(`-F ""')となる特定の場合,切り詰めフラグは利用不可 能で,切り詰めマークはこの場合現われません.

ユーザの利便性の問題として,多くの通常の,C言語で見つかる,バックスペー スされたエスケープ・シーケンスは認識され,ptx自身によって,対応す る文字に変換されます.

` -M string'
` --macro-name=string'

nrofftroffやTeXに適した出力を生成している間, `xx'の代わりに,使用する他のstringを選択します.

` -O'
` --format=roff'

nrofftroffの処理に適した出力書式を選択します.それぞれの 出力行は以下のようになります.

 
.xx "tail" "before" "keyword_and_after" "head" "ref"

それで,出力の植字を処理するための,`.xx' roffマクロを書くことが可 能になります.GNU拡張が利用不可能な場合,これはデフォルト出力です.オプ ション`-M'は,`xx'を他のマクロ名に変更するために利用可能です.

この出力形式で,改行やタブのようなそれぞれの表示不可能な文字は,連続した スペースを圧縮するという特別な試みを行わず,正確に1つのスペースに単に変 換されます.それぞれの引用文字:"は2重になるので,nrofftroffで正しく処理されます.

` -T'
` --format=tex'

TeXでの処理に適した出力書式を選択します.それぞれの出力行は以下のよう になります.

 
\xx {tail}{before}{keyword}{after}{head}{ref}

それで,出力の植字の処理するための\xx定義を書くことが可能になりま す.参照が生成されないとき,すなはち,オプション`-A'もオプション `-r'も選択されていないとき,それぞれの\xxの最後のパラメータ が抑制されることに注意してください.オプション`-M'は,`xx'を他 のマクロ名に変更するために利用可能です.

この出力書式では,$%&#そして_のよう な,いくつかの特殊文字は,自動的にバックスラッシュで保護されます.弓カッ コの{}もバックスラッシュで保護されますが,数学モードを強 制するドル記号の組でも囲まれます.バックスラッシュ自身は \backslash{}の並びを生成します.曲折アクセント記号とティルデ分 音記号は,^\{ }~\{ }の並びをそれぞれ生成します.その 他の基礎となる文字セットの分音文字は,適切なTeXの並びを可能な限り生成 します.改行とタブのようなその他の表示不可能な文字と,ASCIIではない 全ての他の文字は,連続したスペースを圧縮するという特別な試みを行わず,1 つのスペースに単に変換されます.これらの特殊文字をTeXで処理する改善方 法を知らせてください.


7.5.5 ptxのGNU拡張

このptxのバージョンには,System V ptxには存在しないいくつ かの特徴があります.これらの拡張された特徴は,他のコマンドラインオプショ ンで優先されない場合,`-G'コマンドラインオプションを使用して抑制さ れます.GNU拡張には,優先で元に戻すことができないものがあり,そのため, GNU拡張を気にする場合,簡単な規則で`-G'を避けるはずです.ここに,こ のプログラムとSystem V ptxの間の違いがあります.


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

This document was generated by Akihiro Sagawa on June, 15 2005 using texi2html 1.70.