azuさんの開発したtextlintはコマンドラインから使用する校正ツールです.
表記揺れなどのルールを予め定めておくことで,機械的に校正を施すことができます.

一度設定まで済ませてしまえばライター自身で執筆物の品質を保って編集者に納品でき,チェックバック時の負担を減らすことができます.

目次

  1. ライターに使いやすくするために
  2. インストールと実行方法
    1. textlintのインストール
    2. ルールのインストールと設定ファイルの作成
    3. textlintの実行
  3. ルール
    1. 句点抜け
    2. 表記揺れ
    3. NGワード

ライターに使いやすくするために

macOSであればショートカット.appやAuthomator.appというアプリケーションがあります.
これらを使えば,次のようなことができます.

  • あるフォルダにファイルがあるときに,ボタン1つで自動校正の処理が行われるようにする(ショートカット.app).

  • フォルダにファイルを入れたことをトリガーとして,処理を行う(Authomator.appのフォルダアクション).

それぞれのアプリケーションについては本ページでは扱いません.
ここでは,次節以降でライターのために用意するシステムについて説明していきます.

インストールと実行方法

textlintのインストール

まず,あるディレクトリで次のようにしてtextlintをインストールします.

npm init -y
npm install --save-dev textlint

ルールのインストールと設定ファイルの作成

次に,後述するルールを次のようにしてインストールします.

npm install --save-dev ルール

また,ルールの設定のため,このディレクトリに.textlintrcという名前でファイルを作りますが,書き方についてはルールと併せて紹介します.

textlintの実行

このディレクトリで,.txtで終わる任意のテキストファイルにtextlintを用いて修正候補となる箇所を調べるには次のようにします.

npx textlint "**/*.txt"

なお,--fixオプションをつけて

npx textlint --fix "**/*.txt"

とすると,修正まで自動化されます.

ルール

ここでは,「句点抜け」・「表記揺れ」・「NGワード」の3種類の自動校正を扱います.
その他の処理はGitHubのtextlintのページにてお探しください.

句点抜け

日本語の行末に句点が抜けるのを抑えるには,textlint-rule-ja-no-mixed-periodを使います.

ルールをインストールするには,前節でnpm install --save-dev ルールとしていた箇所を

npm install --save-dev textlint-rule-ja-no-mixed-period

とします.

設定は,.textlintrcに次の通りJSON形式で記述します.

{
"rules": {
"ja-no-mixed-period": {
"periodMark": "。",
"allowPeriodMarks": [], // 句点扱いで許容する文字列の配列
"allowEmojiAtEnd": false, // 文末が絵文字でもOKか
"forceAppendPeriod": false // --fixでの自動修正の許可
}
}

インストールと設定を済ませたら,textlintを実行するだけです.

以下,備考です.

  • このルールでは,疑問符や括弧が文末の場合,例外としてエラーになりません.
  • 箇条書きではチェックをスキップします.(textlint-rule-period-in-list-itemというルールが別途あります.)

表記揺れ

表記揺れを抑えるには,textlint-rule-prhというルールをインストールします.

npm install --save-dev textlint-rule-prh

.textlintrcの設定には,表記揺れチェックのための参照ファイルが2本あるとすれば,

{
"rules": {
"prh": {
"rulePaths" :["./prh1.yml", "./prh2.yml"]
}
}
}

と書きます.

ここでyaml形式のファイルは,

version: 1
rules:
- expected: ハードウェア
patterns:
- ハードウエアー # 正規表現に変換のため、より長いものを先に
- ハードウェアー
- ハードウエア

という形で作ります.

このようにして,expectedに指定した文字列「ハードウェア」へ統一をはかることができます.

NGワード

NGワードのチェックにはルールとして,textlint-rule-ng-wordを使います.

npm install --save-dev textlint-rule-ng-word

.textlintrcは次の形式です.

{
"rules": {
"textlint-rule-ng-word": {
"words": ["word1", "word2"]
}
}
}

この例でNGワードとして指摘されるのは,word1word2です.