修論の実際の準備がそろそろ迫ってきた。 まずはアブストラクトを書いて、9月1日には中間発表である.
中間発表のために、pandocのためのbeamerテンプレートを書いた. といっても、大したことではなかった.
pandoc -D beamer
によって、予め組み込まれたテンプレートが出力される (今気付いたが、pandocのバージョンによって随分と異なるテンプレートが使われているようだ. 安全のためにはいつも自分用のテンプレートを持って行った方が良さそうだ.) 見ればほとんど自明な、 $val$
といった変数を含んだパターン言語である.
我々は語数を数えなければならない. 修士論文足りえるための第一法則に、語数の下限が用意されているからである.
英文校正 - TeX Wiki を参考にして、 detex
を用いることにする. pdftotext
が他より多く語数をカウントするかと言えば、 目次のためだろう.
しかし、問題も発覚した. \input
コマンドによる他ファイルの読み込みは問題が無いようだ. しかし、\def
マクロの展開は行ってくれないようである.
さてまた、語数のカウントに要請がある. タイトルや要旨 (Abstraction) はカウントしてはいけない. また、図表もカウントの対象ではない.
先ほどの、マクロを展開してくれない性質を悪用することにする.
\def\rem#1{}
などと、引数を取りながら実際には出力しないマクロを定義する. detex
には引数がそのまま出力されるので、これをマークとして使うことにする.
% main.tex
\begin{document}
\maketitle
\input{./abst.tex}
\rem{count:begin}
count this section
\rem{count:end}
Donnot here
\rem{count:begin}
count here
\rem{count:end}
\end{document}
これを detex
してみるよ以下様に出力される.
% detex main.tex
In this paper, we propose untara and kantara.
count:begin
count this section
count:end
Donnot here
count:begin
count here
count:end
行ごとにカウントする対象かどうかをを awk
でフィルターした後に、wc
すればよい:
# makefile
detex main.tex |
awk -va=0 '/count:end/{a=0} a{print} /count:begin/{a=1}' |
wc -w
ついでに
| ( read w; echo "`date '+%Y/%m/%d %H:%M'` $w" ) | tee -a wc.log
なり、
| sed 's/.*/& words/' | tw
などとすれば良い.
tw
は twitter-sh のコマンド.