2013-07-09 TeXの便利ツール

TeXの便利ツール

今日のプログラミング勉強会で,私の原稿執筆環境について説明したので,その話をこっちにも書いておこう.

ポイントは出来る限り,手作業を減らすことだ.

原稿執筆の流れ

  • Dropboxのフォルダ上で作業
    • 自動でバックアップするようにしている
  • git
    • バージョン管理もしている
  • omake
    • 以前書いたので,そちらを参照.
    • 原稿を保存するたびに,自動でコンパイルしてくれる.
  • evince
    • PDFの変更を自動検知してプレビューしてれる

Mendeley

文献はMendeleyで一元管理している. そしてbibファイルもMendeleyが吐くものを,使っている. 一元管理することで,他の論文を書くときも,そのままま使いまわせる. Citation Keyは

名前:発表年:会議名の略称

という形式に統一していて,

Smith:2007:ACL

とか

Smith:2007:JSAI

といった形にしている.

jbibtexに通すときは,yomiフィールドに読みを書かないと,読み順にしてくれないのだが, それはeditorフィールドに書いて,

#!/bin/sh
~/mendeley/library.bib |perl -pe "s/editor = {/yomi = {/" > $1.bib
jbibtex $1

というシェルスクリプトをOMakefileのBIBTEX変数に指定している.

latexdiff

  • http://latexdiff.berlios.de/
  • 添削してもらうときに,どこを挿入・削除したかが一発で分かり便利
  • 線を引くと日本語を改行してくれないという問題があるので,
-t CFONT

として,色だけ変えるようにする. 文字コードは

-e euc-jp

として指定できる

Latexbatchdiff

  • https://gitorious.org/latexbatchdiff
  • latexdiffをGitと連携して動かすスクリプト
  • 現在の版と,以前の添削をしてもらった版のdiffをとると便利
  • 実際には,
$ ./latexbatchdiff.sh v1 ./main.tex
$ find src -type f | grep -v diff | xargs ./latexbatchdiff.sh v1
# main-diff.texのinputを src/*-diff.tex を呼び出すように手動修正

という感じで動かしている

Latex2rtf

スペル・文法チェックは,MS Wordがなんだかんだ言って,手軽だ. PDFから直接Wordにコピペするのは,変なところに改行が入ってしまうので,嬉しくない. そこで,Latex2rtfを使って,texのファイルからrtfファイルを作る. rtfは直接wordで開ける.

日本語文書もOKで,文字コードをUTF8にして, プリアンブルに

\usepackage[utf8]{inputenc}

と書けば良い.

その他

原稿にコンパイル日時を入れておくと,印刷したときとか,どのバージョンかが,すぐにわかって便利.

\makeatletter
\newcommand*{\nowtime}{%
\the\year -\two@digits\month -\two@digits\day, \two@digits\hour:\two@digits\minute
}
\makeatother

とプリアンブルに書いて, ヘッダとかに

\nowtime

でコンパイル時刻が挿入できる.

あと,変更が激しい初期段階の時, つまり添削をお願いして実際に添削してもらうまで時間があって,その間に結構な変更が見込まれるとき PDFを送るのではなく,Dropboxのリンクを送って,最新版を見てもらうようにしている.

ただ,この辺りは, もうちょっとスマートにできないかなあと思っている.