troff(1) FreeBSD 一般コマンドマニュアル

troff

前のページ 上に戻る 次のページ

troff



書式

       troff [ -abivzCERU ] [ -wname ] [ -Wname ] [ -dcs ]
             [ -ffam ] [ -mname ] [ -nnum ] [ -olist ] [ -rcn ]
             [ -Tname ] [ -Fdir ] [ -Mdir ] [ files... ]

       コマンドラインオプションとパラメータの間に空白を含めること
       が可能です。


解説

       本マニュアルでは、groff ドキュメントフォーマットシステムの
       一部である GNU バージョンの troff について記述します。本コ
       マンドは UNIX troff と高い互換性を持ちます。通常 troff  は
       groff  コマンドから起動されます。 groff はまた、適切な前処
       理プログラムと後処理プログラムを適切なオプションで、適切な
       順序で起動します。


オプション

       -a        ASCII 文字のみの近似的な出力を行います。

       -b        各警告とエラーメッセージに対するバックトレースを
                 表示します。これは、警告やエラーの原因を調べるの
                 に有用です。出力される行番号は必ずしも正しくはあ
                 りません。 asam リクエストにより、 troff  が
                 行番号を誤認する可能性があるからです。

       -i        指定されたファイルをすべて処理したあとに、標準入
                 力も読み込み、処理します。

       -v        バージョン番号を表示します。

       -wname    name で指定した分類の警告を行います。指定でき る
                 name  は、後述の警告のサブセクションを参照してく
                 ださい。 -w オプションは複数指定できます。

       -Wname    name で指定した分類の警告を行いません。 -W オ プ
                 ションは複数指定することができます。

       -E        エラーメッセージを一切出力しません。

       -z        フォーマットした結果を出力しません。

       -C        互換モードにします。

       -dcs
       -dname=s  マクロ c または name を文字列 s と定義します。 c
                 は 1 文字のマクロ名です。

       -ffam     fam をデフォルトのフォントファミリとして使用しま
                 す。

       -mname     マクロファイル name.tmac を読み込みます。見つか
                 らなければ、かわりに tmac.name を試みます。ま ず

       -nnum     最初のページ番号を num とします。

       -olist    list で指定したページのみを出力 し ま す。  list
                 は、コンマで区切られたページ範囲の列です。ページ
                 範囲の指定方法は以下のとおりです: nn ペー ジ
                 の 出 力、  m-nm ページから n ページまでの出
                 力、 -nn ページまでの出力、 n-n ページ以
                 降 の出力を意味します。 troff はリストの最後のペ
                 ージを印刷し終えると終了します。

       -rcn
       -rname=n  数値レジスタ c または name の値を n とします。 c
                 は  1 文字の名前です。 n は troff で扱える数式で
                 す。

       -Tname    デバイス name 用の出力を生成します。デフォルトは
                 ps です。

       -Fdir     フォントファイルと DESC ファイルを検索するのに、
                 ディレクトリ (またはディレクトリパス) dir 以下の
                 devname (name は出力デバイス名) を探します。他の
                 すべてのフォントディレクトリより前に dir を調 べ
                 ます。

       -Mdir      指 定 したディレクトリ (またはディレクトリパス)
                 dir からマクロファイルを検索します。他のすべての
                 マクロディレクトリより前に調べます。


使用法

       ここでは UNIX troff には無い機能のみを説明します。

   B>長B>いB>名B>前
       数値レジスタ、フォント、文字列/マクロ/転換、特殊文字のそれ
       ぞれの名前の長さは任意です。エスケープシーケンス中、すなわ
       ち  2  文字の名前 (xx を使用可能な場所で、任意の長さの名前
       [xxx] を使用可能です。

       \[xxx] xxx で呼ばれる特殊文字を表示します。

       \f[xxx]
              フォント xxx を設定します。

       \*[xxx]
              文字列 xxx を挿入する。

       \n[xxx]
              数値レジスタ xxx を挿入する。

   B>分B>数B>のB>ポB>イB>ンB>トB>サB>イB>ズ
       スケールドポイントは 1/sizescale ポイント で す。 こ こ で
       sizescale は DESC ファイルで指定されます (デフォルト値は 1
       ントに設定されます。これは 10.25 ポイントと等しい値です。

       数値レジスタ \n[.s] はポイントサイズを 10 進数分数のポイン
       ト 単位で返します。新しい数値レジスタ \n[.ps] もあり、これ
       はスケールドポイント単位でのポイントサイズを返します。

       デフォルトのスケールインジケータが u, z のどちらでもない数
       式 中 で  z スケールインジケータを使用するのは無意味でしょ
       う。 troff はこのようなことを禁止します。同様に、 z  が デ
       フォルトのスケールインジケータであった数式において z, u の
       どちらでもないスケールインジケータを使用するのは無意 味 で
       しょう。 troff はこのようなことを禁止します。

       ま た、新しいスケールインジケータ s があります。これはもと
       の値をスケールドポイントの単位数で逓倍しま す。 例 え ば、
       \n[.ps]s1m と同じです。 s, z スケールインジケータを混
       同しないようにして下さい。

   B>数B>値B>式
       括弧内の数式中に空白を含めることが許されます。

       M は em の 1/100 を意味します。

       e1>?e2 e1e2 とで小さくない方。

       e1<?e2 e1e2 とで大きくない方。

       (c;e)  c をデフォルトのスケールインジケータとして e を評価
              し ます。 c が指定されない場合は e の評価においてス
              ケールインジケータは無視されます。

   B>新B>しB>いB>エB>スB>ケB>ーB>プB>シB>ーB>ケB>ンB>ス
       \A'anything'
              1 または 0 に展開されます。これは anything が 文 字
              列、 マクロ、展開、数値レジスタ、環境、フォントのい
              ずれかとして受理可能か否かに依存しま す。  anything
              が空の場合には 0 が返されます。連想表のようなものか
              らユーザの入力を取り出すような場合に有効です。

       \B'anything'
              これは数値式 anything が正当か否かに応じて 1 または
              0 に展開されます。 anything が空の場合は 0 を返しま
              す。

       \C'xxx'
              xxx という名前の文字をタイプセットしま す。 通 常、
              \[xxx]   を使用する方が便利です。しかし \C の優位点
              は、最近の UNIX と互換性があり互換モードにおいて 使
              用可能であることです。

       \E      エスケープ文字と等価ですが、コピーモードでは解釈さ
              れません。例えば、上付き文字の始まりと終りの文字 列
              ルフォントは探されません。 \N エスケープシーケン ス
              は  char リクエストとの組み合わせにより便利に使えま
              す:

                     .char \[phone] \f(ZD\N'37'

              各文字のコードは、フォント記述ファイルで、  charset
              コマンドの後の 4 番目のカラムに書かれています。文字
              の名前として --- を使うことで、名前の無い文字をフォ
              ン ト記述ファイルに組み込むことが可能です。これらの
              文字を使用するには、 \N エスケープシーケンスを使 う
              方法しかありません。

       \R'name +-n'
              これは、次のものと同じ効果です。

                     .nr name +-n

       \s(nn
       \s+-(nn
              ポイントサイズを nn ポイントに設定します; nn は正確
              に 2 桁の 10 進数である必要があります。

       \s[+-n]
       \s+-[n]
       \s'+-n'
       \s+-'n'
              ポイントサイズを n スケールドポイントにします; n は
              数値式であり、デフォルトスケールインジケータは z で
              す。

       \Vx
       \V(xx
       \V[xxx]
              getenv(3) で返される環境変数 xxx の内容を挿入 し ま
              す。 \V はコピーモードで解釈されます。

       \Yx
       \Y(xx
       \Y[xxx]
              こ れ は \X'\*[xxx]' とほとんど同一です。しかし文字
              列/マクロ xxx は解釈されません; また xxx がマクロと
              と して定義されることが許されており、改行文字を含ん
              でも良いです ( \X の引数は改行文字を含んではなり ま
              せん)。改行文字を含む場合には UNIX troff 出力フォー
              マットが拡張されている必要があります。また、この 拡
              張を知らないドライバーを混乱させてしまいます。

       \Z'anything'
              anything を表示したあと水平位置及び垂直位置を元に戻
              します; anything はタブやリーダーを含んではなりませ
              ん。

       \?anything\?
              転 換中で使用すると、 anything を転換中に透過的に埋
              め込みます。 anything はコピーモードで読まれま す。
              転 換の内容が後で読み込まれる時、 anything は解釈さ
              れます。 anything は改行文字を含んではなりま せ ん;
              転 換中に改行文字を埋め込みたい場合には \! を使用し
              て下さい。エスケープシーケンス \? はコピーモード に
              お い て 認 識され、単一の内部コードに変換されます;
              anything の終了を表すのがこのコードです。それゆえ、
                     .nr x 1
                     .nf
                     .di d
                     \?\\?\\\\?\\\\\\\\nx\\\\?\\?\?
                     .di
                     .nr x 2
                     .di e
                     .d
                     .di
                     .nr x 3
                     .di f
                     .e
                     .di
                     .nr x 4
                     .f4 を表示します。

       \/      先行する文字の幅を増やします。その結果、継続する文
              字がローマン文字の場合、先行する文字と継続する文 字
              との間隔が正しくなります。例えば、イタリックの f の
              直後にローマンの右括弧が続く場合、ほとんどのフォ ン
              トにおいて f の右上の部分が右括弧の左上の部分とが重
              なり f) となります。これは醜いです。 \/ を挿入す る
              こ とにより f) となりこの問題を防ぎます。このエスケ
              ープシーケンスを、イタリック文字の直後に空白をは さ
              ま ずにローマン文字が続く場合には常に使用することは
              良い考えです。

       \,     後続する文字の空白を修正します。その結果、先行す る
              文 字がローマン文字の場合、その文字と先行する文字と
              の間の空白が正しくなります。例えば \, を括弧と f の
              間 に挿入することにより、 (f は (f となります。ロー
              マン文字の直後に空白をはさまずにイタリック文字が 続
              く場合には常に使用することは良い考えです。

       \)     \& に似ていますが、 cflags リクエストにより宣言され
              た文字として動作します。このは文の終了判定のため に
              使用します。

       \~      行分割されないが、行内部の空白調整において普通の単
              語間空白と同様に伸び縮みする空白を生成します。
              reg の警告が生成され、リクエストは無視されます。

       .als xx yy
              yy  という名前のリクエスト/文字列/マクロ/転換の各オ
              ブジェクトに対するエイリアス xx を作成します。新 し
              い 名前と古い名前は完全に等価になります (ソフトリン
              クに対するハードリンクのようなものです)。 yy が未定
              義なら、タイプ mac の警告が生成され、リクエストは無
              視されます。マクロ/転換/文字列転換が現在未定義で あ
              る 場合、もしくはリクエストとして定義されている場合
              には、 de, am, di, da, ds, as リクエストは新しい オ
              ブ ジェクトを生成するだけです; これらは通常は既に存
              在するオブジェクトの値を変更します。

       .am1 xx yy
              .am と同様ですが、実行中に互換モードはオフになり ま
              す。 入る時に現在の互換モードが保存され、終了時に回
              復されます。

       .asciify xx
              このリクエストは、転換 xx を以下のように `アン フォ
              ー マット' します。すなわちフォーマットされ xx に転
              換格納された ASCII と空白文字 (そしていくつかのエス
              ケ ープシーケンス) が、 xx が再度読み込まれる時に、
              普通に入力された文字として扱われます。 .writem リク
              エ ス ト と組み合わせた転換で有用です。また大々的な
              ハックにも利用できます。例えば、

                     .tr @.
                     .di x
                     @nr n 1
                     .br
                     .di
                     .tr @@
                     .asciify x
                     .x

              はレジスタ n を 1 に設定します。グリフ情報 (フォ ン
              ト、 フォントサイズ等々) は保存されません。代わりに
              .unformat を使ってください。

       .backtrace
              入力スタックのバックトレースを標準エラー出力に出 力
              します。

       .blm xx
              空 行マクロを xx に設定します。空行マクロが存在する
              場合、空行に出会った時に、通常の troff の振舞とは異
              なり、このマクロを呼び出します。

       .box xx
       .boxa xx
              ちます。ここで n は以下のものを OR したものです。

              1      この文字で文が終ります。 (初期状態では 文 字
                     .?! がこのプロパティを持ちます);

              2      この文字の前でラインブレイク可能です (初期状
                     態ではこのプロパティを持つ文字はありません);
                     両 側の文字が非 0 のハイフネーションコードを
                     持つ場合を除き、このプロパティを持つ文字の場
                     所でラインブレイクはしません。

              4      この文字の後でラインブレイク可能です (初期状
                     態では文字 -\(hy\(em がこのプロパティを持 ち
                     ます); 両側の文字が非 0 のハイフネーションコ
                     ードを持つ場合を除き、このプロパティを持つ文
                     字の場所でラインブレイクはしません。

              8      この文字は水平にオーバラップします。 (初期状
                     態では文字 \(ul\(rn\(ru がこのプロパティを持
                     ちます);

              16     この文字は垂直にオーバラップします。 (初期状
                     態では文字 \(br がこのプロパティを持ちます);

              32     このプロパティを持つ文字が任意数後続しその後
                     に改行もしくは 2 つの空白が後続するような 文
                     の 終 りを表す文字は、文の終りとして扱われま
                     す; 言い替えると、この文字は文の終りの認識に
                     おいて透過です; TeX においてゼロ空白ファクタ
                     を持つのと同じです ( 初 期 状 態 で は 文 字
                     "')]*\(dg\(rq がこのプロパティを持ちます)。

       .char c string
              文 字 cstring と定義します。文字 c が表示される
              必要がある時はいつでも、一時的な環境で string が 処
              理 され、結果が単一のオブジェクトして生成されます。
              string の処理中は、互換モードはオフにされエスケープ
              文字は \ に設定されます。太字化/定空白化/カーニング
              は、 string の各文字ではなくこのオブジェクトに対 し
              て 適用されます。このリクエストによって定義された文
              字は、出力デバイスによって提供される通常の文字の よ
              う に使用できます。特に、他の文字はこの文字に tr リ
              クエストによって変換可能です; この文字は lc リク エ
              ス トによってリーダ文字とすることが可能です; \l, \L
              エスケープシーケンスによって、この文字を繰り返し パ
              タ ン で 使用することが可能です; hcode リクエストに
              よってこの文字がハイフネーションコードを持てば、 こ
              の 文字を含む語は正確にハイフネーション可能です。ま
              た特殊な非再帰機能があります: 文字の定義中にいて 使
              用 される文字は、通常の文字として扱われ、 char では
              定義されたものではありません。文字の定義は rchar リ
              クエストにて除去可能です。

       .cp n  n が非ゼロか存在しない場合、互換モードを有効にし ま
              す。 そうでない場合は互換モードを無効にします。互換
              モードでは、長い名前は理解されず、長い名前に起因 す
              る非互換性の問題は発生しません。

       .dei xx yy
              間接的にマクロを定義します。次の例は

                     .ds xx aa
                     .ds yy bb
                     .dei xx yy

              以下と等価です。

                     .de aa bb

       .de1 xx yy
              .de  と同様ですが、実行中に互換モードはオフになりま
              す。入る時に現在の互換モードが保存され、終了時に 回
              復されます。

       .do xxx
              .xxx を互換モードを無効にして解釈します。例えば

                     .do fam T

              は、 互 換 モードが有効であっても機能することを除け
              ば、

                     .fam T

              と同じ効果を持ちます。 xxx で使用するファイルを解釈
              す る前に互換モードは元に戻されることに注意して下さ
              い。

       .ecs   現在のエスケープ文字を保存します。

       .ecr   ecs で保存したエスケープ文字を復帰します。 事 前 に
              ecs を呼び出していないと `\' が新しいエスケープ文字
              になります。

       .evc xx
              環境 xx の内容を、現在の環境へコピーします。環境 の
              プッショおよびポップは行いません。

       .fam xx
              現 在 の フォントファミリを xx に設定します。現在の
              フォントファミリは現在の環境の一部です。 xx が無 い
              場 合 は 以前のフォントファミリに戻ります。フォント
              ファミリに関するさらなる情報は、 sty リクエストの解
              説を見て下さい。
              ない場合および f と等しい場合は、フォント f は変 換
              されません。

       .hcode c1 code1 c2 code2...
              ハ イ フ ネ ー ションコードの設定を、文字 c1 に対し
              code1 、文字 c2 に対し code2 というふうに行います。
              ハ イフネーションコードは、数字もしくは空白以外の単
              一入力文字 (非スペシャルな文字) である必要があり ま
              す。 初期状態では、各小文字はハイフネーションコード
              をそれ自体の文字として持ち、各大文字はハイ フ ネ ー
              ションコードを各小文字として持ちます。 hpf リクエス
              トも見て下さい。

       .hla lang
              現在のハイフネーション言語を lang に設定します。 hw
              リ ク エ ストで指定されるハイフネーション例外および
              hpf リクエストで指定されるハイフネーションパタン は
              現 在のハイフネーション言語に関連づけられます。 hla
              リクエストは通常 troffrc ファイルから起動されます。

       .hlm n  ハイフネーションされた行が連続できる行数の最大値を
              n に設定します。 n が負の場合、最大値はありません。
              デ フォルト値は -1 です。この値は現在の環境と関連づ
              けられています。行数のカウントは、一つの環境の中 で
              そ の環境での最大値まで行われます。 \% の結果のハイ
              フンはカウントされます; 明示的なハイフンはカウン ト
              されません。

       .hpf file
              ハ イ フ ネ ーションパタンを file から読み込みます;
              ファイルの探索は、 -mname オプションが指定された 時
              に name.tmac が探されるのと同じ方法で行われます。こ
              のパタンは TeX における \patterns プリミティブの 引
              数 と同じフォーマットである必要があります; このファ
              イル中の文字はハイフネーションコードとして解釈さ れ
              ます。パタンファイル中の % 文字は行末までのコメント
              を表します。ハイフネーションパタンのセットは hla リ
              ク エ ス トにより指定される言語に関連づけられます。
              hpf リクエストは通常 troffrc ファイルにより起動され
              ます。

       .hym n ハイフネーションマージンを n に設定します: 現在の修
              正モードが b ではない時、行が n より短い場合には 行
              は ハイフネーションされません。デフォルトのハイフネ
              ーションマージンは 0 です。このリクエストに対するデ
              フォルトのスケーリングインジケータは m です。ハイフ
              ネーションマージンは現在の環境と関連づけられてい ま
              す。 現在のハイフネーションマージンは \n[.hym] レジ
              スタを介して利用可能です。

       .hys n ハイフネーション空白を n に設定します: 現在の修正モ
              ードが b の場合、各単語の間の間隔に追加する間隔の幅
              string の長さを計算し、これを数値レジスタ  xx  ( 前
              もって定義する必要はありません) に入れて返します。

       .linetabs n
              n  が 0 でないか省略されるとライン-タブモードが有効
              になり、そうでない場合は無効にします (デフォルト は
              無効です)。ライン-タブモードではタブの幅が (現在の)
              出力行に応じて計算されます。そうでない場合は入力 行
              に応じて計算されます。例えば次のソース

                     .ds x a\t\c
                     .ds y b\t\c
                     .ds z c
                     .ta 1i 3i
                     \*x
                     \*y
                     \*z

              は以下を生成します。

                     a         b         c

              ライン-タブモードでは同じコードが以下のようになりま
              す。

                     a         b                   c

              ライン-タブモードは現在の環境に関連づけられます。ラ
              イ ン- タ ブ モ ー ドでは読み出し専用の数値レジスタ
              \n[.linetabs] が  1 にセットされ、そうでなければ  0
              にセットされます。

       .mso file
              -m コマンドラインオプションが指定された場合にマクロ
              ファイルを検索するのと同じディレクトリで file を 検
              索 する点を除いて so リクエストと同じです。インクル
              ードするファイル名が name.tmac の形式で、見つからな
              い 場合は、代わりに msotmac.name をインクルード
              しようとします。逆もまた同様です。

       .nop anything
              anything を実行します。これは `.if 1' と同様です。

       .nroff n ビルトイン条件を真にし、 t ビルトイン条件を偽にし
              ます。 troff リクエストを使用することで、逆にできま
              す。

       .open stream filename
              filename を書き込みのためにオープンし、 stream とい
              う 名前のストリームと関連づけます。 close, write リ
              クエストも見て下さい。

              タ \n[llx], \n[lly], \n[urx], \n[ury] にそれぞれ 設
              定 されます。なんらかのエラーが発生すると、4 個のレ
              ジスタは 0 に設定されます。

       .pso command
              入力が command の標準出力であることを除けば、 so リ
              クエストのように動作します。

       .ptr    全てのトラップ (入力行のトラップと転換のトラップは
              除きます) の名前と位置を標準エラー出力に出 力 し ま
              す。 ページトラップリストの空のスロットも出力されま
              す。なぜなら、後で設置されるトラップの優先度に影 響
              を与え得るからです。

       .rchar c1 c2...
              文字 c1, c2,...  の定義を取り除きます。 char リクエ
              ストの影響を取り除きます。

       .return
              マクロ中であれば即座に復帰します。それ以外では何 も
              しません。

       .rj
       .rj n  後続する n 入力行を右揃えします。引数が無い場合、次
              の行を右揃えします。右揃えされる行の数は \n[.rj] レ
              ジ スタを介して利用可能です。本リクエストにより暗黙
              的に .ce 0 となります。 ce リクエストは 暗 黙 的 に
              .rj 0 します。

       .rnn xx yy
              数値レジスタ xxyy にリネームします。

       .shc c  ソフトハイフン文字を c にします。 c が省略された場
              合、ソフトハイフン文字はデフォルトの \(hy になり ま
              す。 ソフトハイフン文字は、語がラインブレイクによっ
              てハイフネーションされる時に挿入される文字です。 ブ
              レ イクすべき位置の直前の文字のフォントにソフトハイ
              フン文字が存在しない場合、そのような位置ではブレ イ
              ク しません。ソフトハイフン文字を見付ける時には、定
              義 ( char リクエストで指定) も変換 ( tr リクエス ト
              で指定) も解釈されません。

       .shift n
              マクロ中で引数を n ポジションだけシフトします: 引数
              i は引数 i-n となります; 引数 1 から n は使用不能と
              な ります。 n が指定されない場合、引数は 1 シフトさ
              れます。負のシフトは現在未定義です。

       .special s1 s2...
              フォント s1, s2, はスペシャルであり、現在のフォント
              には無い文字が探されます。

              リのメンバに対して適用されます。デフォルトファミ リ
              は  -f オプションで設定できます。 DESC ファイル中の
              スタイルコマンドが、 (もし存在すれば) どのフォン ト
              位 置が初期状態においてフォントではなくスタイルに関
              連づけられているのかを制御します。

       .substring xx n1 [n2]
              レジスタ xx 中の文字列を、インデックス n1n2  で
              指 定されるサブ文字列で置き換えます。文字列の最初の
              文字はインデックス 1 です。 n2 が省略されると、文字
              列の長さとみなされます。インデックス値 n1 または n2
              が負または 0 である場合、文字列の末尾から後ろ向きに
              数えます。すなわち、最後の文字がインデックス 0 であ
              り、最後の文字の前の文字が -1 などとなります。

       .tkf f s1 n1 s2 n2
              フォント f に対しトラックカーニングを有効にします。
              現 在のフォントが f である場合、全ての文字の幅が n1
              から n2 の範囲で増加します; 現在のポイントサイズ が
              s1 以下の場合、幅は n1 増えます; 現在のポイントサイ
              ズが s2 以上の場合、幅は n2 増えます; ポイントサ イ
              ズ が s1 以上かつ s2 以下の場合は、増加する幅はポイ
              ントサイズの線形関数となります。

       .tm1 string
              tm リクエストと同様です。 string がコピーモードで読
              み 込まれて標準エラーに書き出されます。ただし先頭に
              空白を置けるようにするために、 string の最初のダ ブ
              ルクォートは取り除かれます。

       .tmc string
              tm1 と同様ですが最後の改行を出力しません。

       .trf filename
              透 過的にファイル filename の内容を出力します。各行
              の出力は各行の先頭に \!  ついたものとして出力されま
              す。 しかし、行はコピーモードにおける解釈の対象とは
              なりません。ファイルが改行文字で終らない場合、改 行
              文字が追加されます。例えば、ファイル f の内容を含む
              マクロ x を定義するには、

                     .di x
                     .trf f
                     .di

              とします。 cf リクエストとは異なり、ファイル中に は
              NUL といった troff 入力文字として不正なものを含むこ
              とはできません。

       .trnt abcd
              \!  により転換へ透過的に取り込まれるテキストに対 し
              て 適用されないことを除いて、 tr リクエストと同じで

       .unformat xx
              このリクエストは、転換 xx を `アンフォーマット'  し
              ま す。転換の整形済み要素を可能な限り入力トークンに
              復元しようと試みる .asciify リクエストと は 逆 に、
              .unformat  は単語間のタブとスペース (通常、入力中の
              スペースか改行で生じる) のみ特別扱いします。前者 は
              そ れらが入力トークンであるかのように扱われます。そ
              して後者は再び伸び縮み可能と扱われます。行の垂直 方
              向 のサイズが保存されないことに注意してください。グ
              リフ情報 (フォント、フォントサイズ、スペース幅等々)
              は保たれます。 .box.boxa リクエストと組み合わせ
              ると便利です。

       .vpt n n が非 0 の場合垂直位置トラップを有効にします。そう
              で ない場合、垂直位置トラップを無効にします。垂直位
              置トラップは wh , dt リクエストにより設定され る ト
              ラッ プです。 it リクエストにより設定されるトラップ
              は垂直位置トラップではありません。垂直位置トラッ プ
              が 発生するか否かを制御するこのパラメータは大域的で
              す。初期状態では垂直位置トラップは有効です。

       .warn n
              警告を制御します。 n は有効とされるべき警告と関連づ
              け られた数の和です; その他の警告は無効となります。
              警告と関連づけられる数のリストは`警告'の章に記載 し
              ます。例えば .warn 0 は全ての警告を無効にします。ま
              た、 .warn 1 は存在しない文字に関する警告のみを有効
              にします。 n が与えられない場合、全ての警告が有効に
              なります。

       .while c anything
              条件 c が真の間、 anything を入力として受け付 け ま
              す;  cif リクエストとして受理可能な任意の条件で
              す; 最初の行が \{ で開始され最後の行が \} で終了 す
              る 場 合、  anything  は複数行となり得ます。 break,
              continue リクエストも見て下さい。

       .write stream anything
              anythingstream という名前のストリームに書き込み
              ま す。 stream はすでに open リクエストの対象であっ
              たはずです。 anything がコピーモードで読まれ ま す;
              先行する " は取り除かれます。

       .writem stream xx
              マ クロまたは文字列 xx の内容を stream で指定された
              ストリームへ書き出します。 stream は事前に open  リ
              ク エ ストでオープンされていなければなりません。 xx
              はコピーモードで読まれます。

   B>拡B>張B>さB>れB>たB>リB>クB>エB>スB>ト
       .cf filename
              転換の中で使用された場合は、後でその転換が読み込 ま
              す。この引数はフォントの外部名を与えます。この名 前
              で フォ ント記述ファイルを探します。 2 番目の引数は
              フォントの内部名であり、フォントをマウントした後 に
              troff 中でフォントを参照するのに使用します。 3 番目
              の引数が無い場合は内部名を外部名として使用しま す。
              こ の機能により、互換モードにて長い名前のフォントを
              使用できます。

       .ss m n
              ss リクエストに対し 2 つの引数が与えられる場合、  2
              番 目の引数は 文の空白サイズを与えます。 2 番目の引
              数が与えられない場合、文の空白サイズは語の空白サ イ
              ズ と同じになります。語の空白サイズと同様、文の空白
              サイズは現在のフォントの空白幅パラメータの 1/12  を
              単 位とします。語の空白サイズと文の空白サイズの初期
              値はともに 12 です。 UNIX troff に反して GNU  troff
              はこのリクエストも nroff モードで扱います。それから
              指定された値は  12 の倍数で最も近い値に丸めら れ ま
              す。文の空白サイズは 2 つの状況にて使用されます: 行
              詰めモードにて文の終りとなった場合、語間の空白と 文
              の 空白がともに追加されます; 行の途中にて、文の終り
              に引続き 2 つの空白が後続する場合、 2 番目の空白 は
              文の空白となります。リクエストの 2 番目の引数を与え
              なければ、 GNU troff の動作は UNIX troff の動作と完
              全に同じになります。 GNU troff では UNIX troff と同
              様、改行及び 2 つの空白にて文を追跡します。

       .ta n1 n2...nn T r1 r2...rn
              タブ位置を n1, n2,..., nn とし、その後タブ 位 置 を
              nn+r1,  nn+r2,....,  nn+rn   とし、その後タブ位置を
              nn+rn+r1, nn+rn+r2,..., nn+rn+rn, とし…というこ と
              を繰り返します。例えば、

                     .ta T .5i

              は 1/2 インチ毎にタブ位置とします。

   B>新B>しB>いB>数B>値B>レB>ジB>スB>タ
       以下の読み取り専用レジスタが利用可能です:

       \n[.C]  互 換 モード時に 1 に、そうでない場合は 0 になりま
              す。

       \n[.cdp]
              現在の環境に付加されている最後の文字の深さ。文字 が
              ベースラインより下にいく場合に正になります。

       \n[.ce]
              中 央寄せされるべき残りの行数。この値は ce リクエス
              トでセットされます。

       \n[.cht]
              現 在のフォントファミリ。これは文字列で値を保持する
              レジスタです。

       \n[.fp]
              次のフリーフォント位置の数を表します。

       \n[.g] 常に 1 です。マクロ中で GNU troff 下で動作してい る
              かどうかを判定するには、この値を使用すること。

       \n[.hla]
              hla  リクエストにより設定された現在のハイフネーショ
              ン言語。

       \n[.hlc]
              連続してハイフネーション処理した行数。

       \n[.hlm]
              連続してハイフネーション処理して良い最大値。この 値
              は、 hlm リクエストで設定されます。

       \n[.hy]
              現 在のハイフネーションフラグ ( hy リクエストにて設
              定されます)。

       \n[.hym]
              現在のハイフネーションマージン ( hym リクエストにて
              設定されます)。

       \n[.hys]
              現在のハイフネーション空白 ( hys リクエストにて設定
              されます)。

       \n[.in]
              現在の出力行に適用されているインデント。

       \n[.int]
              直前の出力行が割り込まれた場合に正の値に設定され ま
              す (つまり \c を含んでいる場合です)。

       \n[.kern]
              文 字ペア間カーニングが有効なら 1B>、そうでないなら 0
              です。

       \n[.lg]
              現在のリガチャモードを表します ( lg リクエストに て
              設定されます)。

       \n[.linetabs]
              現在のライン-タブモード ( linetabs リクエストで設定
              された)。

       \n[.ll]
              次のページ番号: pn リクエストにて設定されるか、現在
              のページ番号に 1 を加えたものです。

       \n[.ps]
              ス ケールドポイント単位で表した現在のポイントサイズ
              です。

       \n[.psr]
              スケールドポイント単位で表した最後にリクエストさ れ
              たポイントサイズです。

       \n[.rj]
              右 揃 え すべき行数。 rj リクエストにより設定されま
              す。

       \n[.sr]
              最後にリクエストされた10進数分数ポイントで表すポ イ
              ン ト サ イズ。これは文字列で値を保持するレジスタで
              す。

       \n[.tabs]
              現在のタブ設定の文字列表記であり、 ta リクエスト の
              引数としてそのまま利用可能です。

       \n[.trunc]
              最 後に発生した垂直位置トラップにより縮められた垂直
              空白の量。トラップが ne リクエストにて生じた場 合、
              ne リクエストにより垂直位置位置の移動分は差し引かれ
              ます。言い替えるなら、トラップが発生した場所で、 ト
              ラッ プがなかったとした場合の垂直位置と、実際の垂直
              位置との差を表します。 \n[.ne] レジスタとともに使用
              すると効果があります。

       \n[.ss]
       \n[.sss]
              ss  リクエストの最初の引数および 2 番目の引数により
              設定された値を与えます。

       \n[.vpt]
              垂直位置トラップが有効の場合 1、そうでない場合は  0
              です。

       \n[.warn]
              現 在有効となっている警告に関連づけられている数の和
              です。警告に関連づけられている数字のリストは`警 告'
              節に記載されています。

       \n[.x] メジャーバージョン番号。例えばバージョン番号が 1.03
              の場合、 \n[.x]1 です。

       \n[.y] マイナバージョン番号。例えばバージョン番号 が  1.03
              の場合、 \n[.y]03 です。

       \n[rst]
       \n[rsb]
              st, sb レジスタと同様ですが、文字の高さと深さも考慮
              に入れます。

       \n[ssc]
              最後の文字から下付き文字までに加えられる水平空白 の
              量。負も取り得ます。

       \n[skw]
              \w 引数における最後の文字の中央からどれほど右にずれ
              て、ローマンフォントのアクセントの中央がその文字 上
              に配置されるかを表します。

       他に利用可能な読み書き可能の数値レジスタとして以下がありま
       す:

       \n[c.] 現在の入力行番号。 \n[.c] はこのレジスタの別名で あ
              り、読み出し専用です。

       \n[hp] 入力行での現在の水平位置です。

       \n[systat]
              sy リクエストにより最後に実行された system() の戻り
              値。

       \n[slimit]
              0 より大きい場合、入力スタックの最大オブジェクト 数
              を表します。 0 以下の場合、入力スタック上のオブジェ
              クト数に制限はありません。制限が無い場合、仮想記 憶
              を使い果たすまで再帰が続くことがあります。

       \n[year]
              現在の年。伝統的な troff 数値レジスタ \n[yr] は、現
              在の年から 1900 を減じた値であることに注意してく だ
              さい。

   B>そB>のB>他
       troff   は、(読み書き用) 文字列ベースのレジスタ \*(.T を前
       もって定義しており、これには -T コマンドラインオプションに
       与えられた引数、すなわち現在の出力デバイスを保持しています
       (例えば latin1ascii )。これは、(読み込み専用の) 数値レ
       ジ スタ \n[.T] が、 troff-T コマンドラインオプション付
       で呼び出されたときに 1 に定義され、そうでないときに 0 に定
       義 さ れるのとは同じではありません。この動作は、UNIX troff
       とは異なります。

       DESC ファイルに記述されていないフォントは、参照された時 点
       で 自 動的に次の利用可能なフォント位置にマウントされます。
       フォントを明示的に fp リクエストにて未使用のフォント位置に
       マウントする場合、最初の未使用のフォント位置にマウントしな
       とします。

       フォント記述ファイルに文字ペア間カーニング情報が含まれる場
       合、 こ のフォントから出力される文字はカーニングされます。
       \& を 2 つの文字間に置くことで、その文字間のカーニングを禁
       止できます。

       条件において文字列を比較する場合、最初のデリミタと異なる入
       力レベルにおいて出現する文字は 2 番目 3 番目のデリミタとし
       て認識されません。これは tl リクエストにも当てはまります。
       \w エスケープシーケンスにおいて、最初のデリミタ文字とは 異
       なる入力レベルにある閉じる方のデリミタ文字は、認識されませ
       ん。マクロ引数をデコードする時に、マクロ引数がダブルクォー
       トで区切られる場合、最初のデリミタ文字とは異なる入力レベル
       にある文字は、閉じる方のデリミタ文字とは認識されま せ ん。
       \$@ の実装では、引数を括るダブルクォートは同じレベルとなる
       ことが保証されています。このレベルは引数の入力レベルとは異
       なります。長いエスケープ名中では ] は開く方の ] の入力レベ
       ルと同じである場合を除き、閉じる方のデリミタとは認識されま
       せん。互換モードでは入力レベルに対する注意は払われません。

       条件が増えました:

       .if rxxx
              数値レジスタ xxx が存在する場合に真となります。

       .if dxxx
              文字列/マクロ/転換/リクエストに xxx という名前の も
              のがあった場合に真になります。

       .if cch
              文字 ch が使用可能な場合に真になります; ch は ASCII
              文字でもスペシャル文字 \(xx, \[xxx] でもかまいま せ
              ん; chchar リクエストにて定義された場合にも真に
              なります。

       tr リクエストは文字を \~ にマップできるようになりました。

   B>警B>告
       troff が出力する警告は以下のカテゴリに分類されます。各警告
       に関連する名前は -w, -W オプションで使用可能です; また番号
       は、 warn リクエストおよび .warn レジスタが使用します。

       char           1   存在しない文字。デフォルトで有効です。

       number         2   不正な数式。デフォルトで有効です。

       break          4   行詰めモードにて、行を分割できなかっ た
                          た め、行の長さよりも短くなってしまいま
                          した。デフォルトで有効です。

       delim          8   閉じる方のデリミタが無いもしくはマッ チ
       mac          512    未 定 義の文字列、マクロ、転換を使用し
                          た。未定義の文字列、マクロ、転換を使 用
                          し た場合、文字列が自動的に空に定義され
                          ます。このため各名前に対する警告は大 概
                          最大 1 回だけです。

       reg         1024    未定義の数値レジスタを使用した。未定義
                          の数値レジスタを使用した場合、レジス タ
                          が自動的に値 0 に定義されます。定義は自
                          動的に値 0 にて行われます。このため各名
                          前に対する警告は大概最大 1 回だけです。

       tab         2048   タブ文字の使用が不適切でした。数字が 期
                          待 される場所でタブを使用したか、クォー
                          トされいてないマクロの引数中でタブ文 字
                          を使用したかのどちらかでしょう。

       right-brace 4096    数 字 が期待される場所で \} が使用され
                          た。

       missing     8192   非オプション引数が足りないリクエスト。

       input      16384   不正な入力文字。

       escape     32768   認識できないエスケープシーケンス。認 識
                          で きないエスケープシーケンスに会った場
                          合は、そのエスケープ文字は無視 さ れ ま
                          す。

       space      65536    リクエストもしくはマクロとそれらの引数
                          の間に空白がありません。この警 告 は、2
                          文 字より長い未定義の文字に会った場合で
                          最初の 2 文字が定義された名前のときに起
                          こ り得ます。このときリクエストもしくは
                          マクロは起動されません。この警告が発 せ
                          ら れる時、どのようなマクロも自動的には
                          定義されません。デフォルトで有効で す。
                          こ の 警 告は互換モードでは起こり得ませ
                          ん。

       font      131072   存在しないフォント。デフォルトで有効 で
                          す。

       ig        262144   ig リクエストにより無視されたテキストの
                          中にある不正なエスケープ。これらは無 視
                          さ れたテキストの中では発生しないエラー
                          です。

       警告のグループを指定する名前もあります:

       all    すべて、ただし di, mac, reg を除きます。伝統的な マ
              ク ロパッケージを使用する際に有用な警告の全てをカバ

       で は、これは通常長い名前の始まりであると解釈します。 互換
       モードでは GNU troff はこれらを伝統的な方法で解釈しま す。
       また長い名前は認識されません。互換モードは -C コマンドライ
       ンオプションにて有効に出来、 cp リクエストにて有効無効の切
       替 え が 出 来ます。互換モードが有効の場合には数値レジスタ
       \n[.C] が 1 となり、そうでない場合は 0 となります。

       GNU troff は文字列/マクロ/展開/数値レジスタ/フォント/環 境
       の  名  前  に  お  い  て、 エ ス ケ ー プ シ ー ケ ン ス
       \\|\^\&\}\{\(space)\'\`\-\_\!\%\c を使用することを許しませ
       ん; 一方 UNIX troff では出来ます。名前中でのこれらのエスケ
       ープシーケンスの使用を避けるには、 \A エスケープシーケンス
       が役に立つかもしれません。

       分 数 の ポ イントサイズは顕著な非互換性を引き起こします。
       UNIX troff では ps リクエストはスケールインジケータを無 視
       するため

              .ps 10u

       は ポ イントサイズを 10 ポイントに設定しますが、 GNU troff
       ではポイントサイズを 10 スケールドポイントに設定します。

       GNU torff では、フォーマットされていない入力文字と フォ ー
       マットされた出力文字との間に基本的な違いがあります。出力文
       字がどのように出力されるのかに影響することがらは全て、その
       文字に記録されています。一度出力文字が構成されたならば、そ
       の出力文字はその後に実行されるリクエストの影響を受け ま せ
       ん。 このリクエストには bd, cs, tkf, tr, fp リクエストが含
       まれます。通常、出力文字が入力文字から構成されるのは、出力
       文字が現在の出力行に追加される直前です。マクロ/転換/文字列
       は実際同じタイプのオブジェクトです; すなわち入力文字のリス
       トと出力の文字の任意の組み合わせのリストを保持しています。
       マクロ処理においては出力文字は入力文字のようには振舞いませ
       ん;   出力文字は、その元の入力文字が持っていた特殊なプロパ
       ティを一切継承しません。例えば、

              .di x
              \\\\
              .br
              .di
              .x

       は GNU groff では \\ を表示します; 各 \ のペアは単一の出力
       \  になり、出力結果の複数の \ は、再読み込みの時にはエスケ
       ープ文字としては解釈されません。 UNIX troff では再読み込み
       の時にはエスケープ文字として解釈されるため、最終的な結果は
       単一の \ となります。表示可能な \ を得る正しい方法は、  \e
       エスケープシーケンスを使用することです: このエスケープシー
       ケンスは、転換の中であるか否にかかわらず、常に現在のエスケ
       ー プ 文字実体を一つ表示します; これは GNU troff でも UNIX
       troff でも動作します。転換中に、転換が再読み込みされた時に
              デフォルトの出力デバイス

       GROFF_FONT_PATH
              : で区切られた、フォントを検索すべきディレクトリ 名
              のリスト。 troff は、まず -F オプションで指定された
              ディレクトリを検索し、次に本環境変数で指定 さ れ た
              ディ レ ク ト リ、 最 後 に 標 準 の ディレクトリ (
              /usr/share/groff_font ) を検索します。


関連ファイル

       /usr/share/tmac/troffrc
              初期化ファイル (他のマクロパッケージの前に呼び出 さ
              れます)

       /usr/share/tmac/troffrc-end
              初 期化ファイル (他のマクロパッケージの後に呼び出さ
              れます)

       /usr/share/tmac/name.tmac
       /usr/share/tmac/tmac.name
              マクロファイル

       /usr/share/groff_font/devname/DESC
              デバイス name のデバイス記述ファイル

       /usr/share/groff_font/devname/F
              デバイス name におけるフォント F のフォント記述ファ
              イル

       troffrctroffrc-end は、セキュリティのためデフォルトで
       現在のディレクトリとホームディレクトリのいずれでも検索され
       な い 事に注意してください ( -U オプションが指定されていて
       も)。必要な場合は -M コ マ ン ド ラ イ ン オ プ ショ ン か
       GROFF_TMAC_PATH 環境変数を使ってそれらのディレクトリを検索
       パスに加えられます。


関連項目

       groff(7) -- 短いですが、リクエスト、レジスタ、エスケープに
       関する完全なリファレンスです。

       groff(1),  tbl(1),  pic(1),  eqn(1),  refer(1), soelim(1),
       grn(1),  grops(1),   grodvi(1),   grotty(1),   grohtml(1),
       grolj4(1), groff_font(5), groff_out(5), groff_char(7)



Groff Version 1.17.2      6 August 2001                  TROFF(1)

ABELNET VPSサービス