CHECKNR(1)

名称
checknr - nroff および troff ファイルをチェックする

書式
checknr [-a.x1.y1.x2.y2. ... .xn.yn] [-c.x1.x2.x3 ... .xn] [-s] [-f] file

解説
checknr は、 nroff(1) や troff(1) の入力ファイルのリストに対して、デリミタの開始および終了の不一致や 間違ったコマンドを含む、ある種類のエラーをチェックします。 ファイルが指定されなかった場合、 checknr は標準入力をチェックします。

オプション

-a  既知マクロのリストに追加のマクロペアを追加します。 その後ろには 6 文字のグループが続かなくてはなりません。 各グループはマクロのペアを定義します。 6 文字はピリオドと最初のマクロ名、更にピリオドと2番目のマクロ名です。 例えば、 .BS と .ES のペアを定義するためには、 ‘-a.BS.ES’ を使ってください。

-c  通常なら未定義であるといわれるコマンドを定義します。

-f  checknr に ‘\f’ のフォント変更を無視させます。

-s  ‘\s’ のサイズ変更を無視させます。

デリミタのチェックは以下の通りです。

1.  \fx ... \fP を使ったフォントの変更。

2.  \sx ... \s0 を使ったサイズの変更。

3.  .TS と .TEマクロのようにいつもペアで使われる、 ``開始...終了''形式のマクロ。

checknr は、 lint(1) と同じように、 checknr によるチェックを念頭に置いて作成されたドキュメントを チェックするのに用いることを意図しています。 コマンドは、記述形式が ‘\f’ と ‘\s’ コマンドに対して、 各 ‘\fx’ は ‘\fP’ で終了されており、 ‘\sx’ は ‘\s0’ で終了されているようなものを期待しています。 直接次のフォントに切替えたり、 明示的にもとのフォントやポイントサイズを指定したりしても動作しますし、 実際そのようにしているドキュメントは数多く存在しますが、 checknr はそのような使用法に対して警告を発します。 おそらく ‘\fP’ と ‘\s0’ 形式を使うほうがよいはずなので、 このようなスタイルを用いることは、 ドキュメント執筆スタイルの向上に寄与すると考えて下さい。

checknr は、 ms(7) と me(7) マクロパッケージを認識します。

関連項目
nroff(1), troff(1), me(7), ms(7)

診断
デリミタが一致しない時に、警告を出します。 コマンドを認識できない時に、警告を出します。 コマンドの文法について、さまざまな警告を出します。

バグ
-a を用いて 1 文字のマクロ名を定義する方法がありません。

条件文のような、ある種の正当な構造を認識できません。

歴史
checknr コマンドは 4.0BSD から登場しました。