novel-writerでテキストファイルを開くと、エディターの下部に幾つかの数字が表示されます。下の図では「📖2,775(-5)文字/📃1,943(+2)文字/
7文字」と表示されています。左から順に、全文字数(今日の増減)/ファイルの文字数(今日の増減)/昨日からの編集距離です。

全文字数はプロジェクトフォルダー、あるいは原稿フォルダーに含まれているテキストファイルの文字数の合計で、ファイルの文字数はエディターで編集中のテキストファイルの文字数が表示されます。増分は今日どれだけテキストが増えたか、あるいは減ったかを示しています。見慣れないのが最後の編集距離でしょうか。これは、ファイルがどれだけ変更されたかを示す指標です。
スクリーンショットは前回Gitでコミットしたファイルと、現状のファイルの差分エディターです。画像ではみにくいでしょうから、下に抜き出してみます。
二人は跳ね返るように私に顔をむけると 、あいとくん
がは剣を振り回したす。剣がくにゃくにゃと曲がるのを確かめて、私は胸を撫で下ろすした。芯が入っていないなら怪我はしないだろう。
増えた文字は「ると」「は」「す」「した」の6文字で、減った文字が「が」「した」「す」ですから、増分は+2文字です。4箇所、6文字修正したのにカウントは「+2」だけということになります。この例ではブログのために二、三分で一文を推敲しただけですが、実際の推敲では半日、一日かけて何百ヶ所かのテキストを書き換えた結果、文字数が減ることもあるわけです。
推敲で文章は良くなることがほとんどですが、どれだけ進んだのか、どれだけ手が動いたのかは、文字数ではわかりません。実際、長編の改稿では数100文字単位で文字数が減っていくので凹むことすらあります。
そこでnovel-writerには編集距離を表示する機能を搭載しました。Gitのコンペア(比較)を示すアイコン「
」の後ろに書いてある数字です。この例では「7」となっています。計算は「ると」の追加分が編集距離2、「か」→「は」は編集距離1、「した」→「す」は編集距離2、「す」→「した」は編集距離2で、その合計が7ということになります。Gitのコミットと比較するので、原稿をGitで管理しなければこの機能は使えません(小説Gitも再開しないとなあ)。
編集距離についてもっと知りたい方は、WikipediaのEdit Distanceやレーヴェンシュタイン距離を参照してみてください。novel-writerは、npmで提供されているfastest-levenshtein 🚀で、Gitの前日コミットからの編集距離を計算しています。
今日は、「マン・カインド」の連載から単行本への編集距離を調べてみました。 画面はVS Codeの差分エディターです。画面右端の差分バーに修正されたところが出ていますね。赤だけ残っているところはカットされた部分、緑だけあるところは加筆部分です。両方黒いのが連載のまま使った部分です。
227,327文字中、145,515文字を打ち替えているということは、64パーセントほど書き直している計算になります。個人的には「かなり残ったな」と思いましたが、担当編集者の視点では「全面書き直し」とのこと。実際、画面を見るとそうですね。冒頭で残っているのはごくわずか……ともあれ、それだけ良くなりました。刊行は九月の予定です。お楽しみください。

“novel-writerの編集距離” への1件のフィードバック