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 文字のグループが続かなければなりません。これは、ピリオド (``.'')、 1 番目のマクロ名、ピリオド、2 番目のマクロ名のセットです。たとえば .BS と .ES のペアを定義する場合は ‘-a.BS.ES’ と指定します。

-c  未定義と警告されるコマンドを定義します。

-f  ‘\f’ によるフォント変更を無視するよう checknr に要求します。

-s  ‘\s’ によるサイズの変更を無視します。

以下のデリミタのチェックが行われます:

1.  \fx ... \fP によるフォントの変更。

2.  \sx ... \s0 によるサイズの変更。

3.  開始と終了の形をとるマクロ。たとえば、.TS と .TE マクロはつねにペアで 用いなければなりません。

checknr は、 checknr によるチェックを念頭に置いて作成されたドキュメントに対して使用する ことを想定しており、これは lint(1) と多くの点で似ています。 ‘\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 から登場しました。