LaTeXの文字数をカウントしてブラウザで表示するアプリケーションを作った

はじめに

この時期,卒業論文LaTeXで書いている人も多いのではないでしょうか? (好むと好まざるとにかかわらず)
先日,私もLaTeXで卒論を書き,無事に提出しました.
卒論の進捗を可視化する指標の一つとして,「文字数」があります.
なので,LaTeXの文字数をカウントしてブラウザで表示するアプリケーションを作りました.
Node.jsの実行環境があれば,コマンド一発で使えるようにしました.

作ったもの

LaText Counter」です.
github.com
使うためには,texcountコマンドが必要です.
texcountコマンドは,以下のように実行することで,texファイル中の文字数をカウントできます.

$ texcount -char -japanese main.tex

今回作ったアプリケーションは,このコマンドを実行して,文字数をWebAPIとして返すようになっています.
Webアプリケーションの方では,このAPIを定期的に叩いて,文字数を画面に表示します.
他に,アプリケーション起動後の経過時間を作業時間として表示したり,文字数の時間経過をグラフとして表示したりできます.
f:id:sublimer:20210222164716p:plain

使い方

Node.jsが使える環境であれば,npmのパッケージとして公開しているのですぐに使えます.
www.npmjs.com
$ npx latext-counterで,自動でブラウザが開かれ,カレントディレクトリのmain.texの文字数が表示されます.
texファイルのパスを変更する場合は,-fオプションで指定できます.
また,ポート番号を変更する場合は,-pオプションで指定できます.
詳しくは,$ npx latext-counter -hでヘルプを見てみてください.

おわりに

ブラウザの画面をチャットツールなどで共有すれば,気軽に進捗を共有できます.
今年は,オンラインで卒検を進めている人も多いかと思いますが,簡単に頑張っている様子を可視化できます.
逆に,グラフがずっと平らだと,サボっている様子も見えてしまうので,適度に頑張る必要がありますね.
卒論の提出を控えている方は,LaText Counterで進捗を共有してみてはいかがでしょうか?