🔙 Back to Top

Mon Aug 17 21:25:50 JST 2015

Beamer template of pandoc

修論の実際の準備がそろそろ迫ってきた。 まずはアブストラクトを書いて、9月1日には中間発表である.

中間発表のために、pandocのためのbeamerテンプレートを書いた. といっても、大したことではなかった.

pandoc -D beamer

によって、予め組み込まれたテンプレートが出力される (今気付いたが、pandocのバージョンによって随分と異なるテンプレートが使われているようだ. 安全のためにはいつも自分用のテンプレートを持って行った方が良さそうだ.) 見ればほとんど自明な、 $val$ といった変数を含んだパターン言語である.

word count

我々は語数を数えなければならない. 修士論文足りえるための第一法則に、語数の下限が用意されているからである.

英文校正 - 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 のコマンド.