latex-project-template を使う
LaTeX のテンプレートファイルを管理する ruby のプログラム。 latex-project-template は ~/.latex_project_template 以下に テンプレートのディレクトリを作り、 そのディレクトリをもとにして LaTeX ファイルのディレクトリを作る。 そのディレクトリには git リポジトリが準備されていて、 latexmk でコンパイルするための Rake タスクが使える。
必要な環境
LaTeX ファイルをコンパイルするために latexmk を使い、 ファイルは git で管理される。
以下の gem が使われている。
インストール
gem でインストールできる。
gem install latex-project-template
使い方
‘latex-project-template’ で操作する。 まず、次のコマンドで設定ディレクトリ ~/.latex_project_template を作る。
latex-project-template --init
次に、~/.latex_project_template 以下のファイルを編集してテンプレートを作る。 default テンプレートから new_project という LaTeX のプロジェクトを作るには、
latex-project-template new_project
とする。他のテンプレート(例えば japanese)から作るには
latex-project-template new_project japanese
とする。テンプレートの一覧を表示するには次のようにする。
latex-project-template --list
テンプレートの構造
~/.latex_project_template の中には次の4つのディレクトリがある。
- template
- component
- variable
- .git
template ディレクトリ
template ディレクトリにはテンプレートの主なるファイルがある。 テンプレートは template ディレクトリのディレクトリであり、 プロジェクトを作るときにそのディレクトリの中のファイルが基本的にはコピーされる。 テンプレートの中のファイルには、単なるテキストか eruby のテンプレートを使うことができる。
状況にあわせてファイルの中身を変更したいときは、eruby を使う。 latex-project-template は 拡張子 .erb のファイルを eruby のテンプレートとしてみなし、 プロジェクト作成時にそれらを変換する。
テンプレートファイルの特別なファイル名
「__」と「__」で囲まれた特別な文字列は、 プロジェクト作成時に変換される。
- __IMPORT__
- __IMPORT__ ファイルには他のテンプレートからインポートするファイルを記述する。
- __PROJECT__
- __PROJECT__ はプロジェクト名に変換される。
- __DOT__
- __DOT__ はドット「.」に変化される。
- __IGNORE__
- __IGNORE__ を含むファイルは無視される。
component ディレクトリ
テンプレートファイルに共通な部分は component ディレクトリの ファイルに記述する。 テンプレートの eruby ファイルに読み込むには component メソッドを使う。 component/rakefile_common.erb があって、eruby テンプレートから使うには
<%= component('rakefile_common.erb') %>
と書く。
variable ディレクトリ
variable ディレクトリには eruby テンプレートで使う値を 記述した yaml ファイルを置く。 eruby テンプレートの中で filename.yaml のオブジェクトは filename で参照できる。
例えば、次のような variable/profile.yaml があるとき、
---
:name: Your Name
template/default/__PROJECT__.tex.erb の中で
<%= profile[:name] %>
と書くと値が記入される。
Rake タスク
LaTeX ファイルをコンパイルするために latex_project_template/task.rb の中に Rake タスクが定義されている。 使い方は default テンプレートの中の Rakefile を参照してください。