texにlint 導入体験記

自己レビューや他人のドキュメントのレビュー・推敲時間を削減するために、textlintを導入しました。
導入のついでにtextlint (tex用) 導入の手順を記事として書きました。

目次

  • 前提条件
  • インストールコマンド
  • 文章校閲ルールの設定
  • 文章校閲 (textlintを動かす)
  • 表記ゆれ対策

前提条件

以下はすでに行っているものとし、説明は省きます。

  • nodeのインストール
  • texの環境構築

nodeのインストールに関しては、こちらのサイトを参考にするといいかもしれません。
(エンジニアの皆様は多分自分で調べたほうがいろいろいい設定ができると思います)
MACへのnpmインストール
Windows10にNode.jsとnpmをインストールする方法

インストールコマンド

以下のコマンドでtextlintとtexlintのルール(工業系用)、tex用のパッケージをインストールします。

mkdir newフォルダー名
cd newフォルダー名
npm init -y
npm install -D textlint
npm install --D textlint-rule-preset-ja-spacing textlint-rule-preset-ja-technical-writing
npm install textlint-plugin-latex2e

文章校閲ルールの設定

校閲用のルールをtextlintに設定していく。
まず以下のコマンドで設定ファイル(.textlintrc)を作成する

// newフォルダー名 (新しく作成したフォルダ) の中で操作 
npx textlint --init

ここまでで基本的な内容の校閲設定は終了しています。以下に自分用の追加設定 (.textlintrc に記述) を書いておきます。

{
  "filters": {},
  "rules": {
    "preset-ja-spacing": true,
    "preset-ja-technical-writing": {
      "ja-no-mixed-period": {
        "periodMark": "."
      },
      "ja-space-between-half-and-full-width": {
        "space": "always",
        "exceptPunctuation": true,
      },
      "max-ten": {
        "touten": ",",
        "kuten": "."
      }
    },
  },
  "plugins": [
    "latex2e"
  ]
}

文章校閲 (textlintを動かす)

以下のコマンドを実行する

npx textlint 推敲したい文章のファイル名

多分以下のような形で校閲結果を出力してくれます。

   56:12   ✓ error  一つ => 1つ
数量を表現し、数を数えられるものは算用数字を使用します。任意の数に置き換えても通用する語句がこれに該当します。  ja-technical-writing/arabic-kanji-numbers
   56:112  error    Line 56 sentence length(161) exceeds the maximum sentence length of 100.
Over 61 characters                                        ja-technical-writing/sentence-length
   56:177  error    一つの文で","を4つ以上使用しています
            ja-technical-writing/max-ten
   84:134  ✓ error  二つ => 2つ
数量を表現し、数を数えられるものは算用数字を使用します。任意の数に置き換えても通用する語句がこれに該当します。  ja-technical-writing/arabic-kanji-numbers
  135:95   ✓ error  一つ => 1つ
数量を表現し、数を数えられるものは算用数字を使用します。任意の数に置き換えても通用する語句がこれに該当します。  ja-technical-writing/arabic-kanji-numbers
  137:1    error    Line 137 sentence length(172, original:328) exceeds the maximum sentence length of 100.
Over 72 characters                         ja-technical-writing/sentence-length
  161:75   error    文末が"."で終わっていません。
            ja-no-mixed-period
  191:9    error    一文に二回以上利用されている助詞 "は" がみつかりました。

以上、メモ書きのようなものですが、textlint (tex用) の導入手順になります。

表記ゆれ対策

textlintを使った表記ゆれの対策方法を書きます。
以下のコマンドを実行します。

// newフォルダー名 (新しく作成したフォルダ) の中で操作 
npm install -D textlint-rule-prh
npx prh --init // prh.ymlファイルが作成される

以下のルールを追加 (.textlintrc内)

{
  "filters": {},
  "rules": {
    "preset-ja-spacing": true,
    "preset-ja-technical-writing": {
      ...
    },
// ----追加部分----
    "prh": {
      "rulePaths": [
        "./prh.yml" // パスはymlファイルに適宜合わせる
      ]
    }
// ----ここまで追加部分----
  },
  "plugins": [
    "latex2e"
  ]
}

作成されたprh.ymlに表記ゆれ校閲のためのルールを追加します。以下が自分が修正・追加した表記ゆれ校閲のルールです。設定した後はnpx textlint ファイル名で校閲できます。

rules:
  // patternには正規表現が利用可能
  - expected: ($1)
    pattern:  /(([\S]+))/
    specs:
      // 半角括弧を全角括弧へ
      - from: (そのとおり)
        to:   (そのとおり)

  - expected: 実施する or 取り組む or Aする
    patterns:
      - を行った
      - を行う
      - をする
      - をした
      - を行
      - 行う

  - expected: Web
    patterns:
      - WEB
      - web

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です