階層付きテキストの文量比率計算と原稿用紙枚数計算

outline-text-calc.rb Version 0.1.3

Written by sak.
2008-10-07

行頭半角ピリオドを目印とする階層付きテキストで小説などを書く人向け。
・全角20文字×20行を1ページとしたとき、全体で何ページ+何行か。
・各チャプターごとの文量比率。
・全角20文字×20行を1ページとしたとき、各チャプターごとに何ページ+何行か。
・各セクションごとの文量比率。
・全角20文字×20行を1ページとしたとき、各セクションごとに何ページ+何行か。
などを計算して表示します。

使い方はいたって簡単です。コマンドプロンプトにて
outline-text-calc.exe [-j] [ファイル名]
とするだけです(-jを付けると日本語で表示されます)。

計算は大雑把です。具体的には2バイトを全角1文字として計算しているだけです。エンコーディングによっては計算結果がずれてきます。禁則なども考慮しません。何をもって1行と考え、何をもって1ページと考えるかによっても計算結果は変わってきます。ですのであまりアテにしないで下さい。ないよりはまし程度のものです。ひょっとしたらないほうがましかもしれません。

本ソフトウェアは無保証です。使用者の自己責任においてご使用下さい。
データは大切です。バックアップを取りましょう。

※アルゴリズムに無駄がありますが、まぁやっつけ仕事なので……。

ダウンロードはこちら。
http://sak.que.jp/outline-text-calc_0.1.3.zip

↓こんな感じで使います。文字化けを回避する為に表示は半角アルファベットのみです。


↓-jを付けると日本語で表示されます。文字化けしないなら、こちらのほうが分かりやすいかもしれません。


------------------------------------------------------------------------
※追記(2008-10-08)。

いちいちコマンドプロンプトを起動するのは面倒ですし、できればテキストエディター上からささっと使いたい、というのが人情でしょう。
cmd.exe /k [outline-text-calc.exeのフルパス] [計算対象のファイルのフルパス]
とやれば、いちいちコマンドプロンプトを開く手間を省けるので、そういうのをテキストエディターに登録しておくといいと思います。

QXだと[その他]→[外部コマンド]→[コマンド設定]で登録できます。例えば、
cmd.exe /k C:\bin\outline-text-calc.exe -j %p | more.com
とでも登録しておけば、現在編集中のファイルを対象にささっと使えます。ちなみにこれはあくまでも例でして、outline-text-calc.exeの置き場所は人により違うはずですので、そこは適宜読みかえて下さい。more.comを使っているのは、計算結果の表示が長すぎる時に画面が流れて行ってしまうのを防ぐ意味があります。

↓要するにこんな感じです。-jまでしか写ってませんが、実際には%p | more.comまで書いてあります。


他には「QXで編集中のファイルの計算結果をQXで表示させる」というやり方があります。

↓この状態で計算させると、


↓別タブに計算結果が表示されます。


仕組みを説明します。outline-text-calc.exeの計算結果は標準出力に吐き出されます。これを「標準入力をクリップボードへ書き込むソフト」へパイプします。その直後にQXW32.EXEを-C付きで起動します。するとQXに計算結果が別タブで表示されます。

「標準入力をクリップボードへ書き込むソフト」は……、ちょうどそういうものをitamさんというかたが配布されていますので、それをありがたく使わせていただくのがよいかと思います。

http://yokohama.cool.ne.jp/itam/itams/qx/macindex.htm

こちらからstd2clp.lzhをダウンロードして、あらかじめインストールしておきます。

QXのコマンド設定で、
cmd.exe /c C:\bin\outline-text-calc.exe -j %p | C:\bin\std2clp.exe & C:\bin\qx\qxw32.exe -C計算結果
と登録します(↑2行に表示されてますけど、実際には1行です)。プログラムファイルの置き場所は人により違いますので、そこは適宜読みかえて下さい。そうすると「QXで編集中のファイルの計算結果をQXで表示させる」ことができるようになります。

ただこのやり方はクリップボードを汚すことになりますので、そういうのがいやな方はやらないで下さい。

秀丸の場合は……。

↓このような状態で……、


↓[その他]→[プログラムの実行]でこのように入力して[OK]すると……、


↓このように別タブに実行結果が表示されます。


↓この手順をこのようにマクロとして実行しても……、


↓やはり同じことができます。


ひとまずはそのようなところです。

------------------------------------------------------------------------
※追記(2008-10-10)。

計算結果を眺めているうちに本文のここを直したいという箇所へ行きたくなるのが人情だと思いますから、計算結果から本文へタグジャンプできるように計算結果にファイル名と行番号が入るようにしようかと検討しています。

2008/10/07(22:00:00)