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 を参照してください。

Tags of current page

, ,