Posted at

自分用のLaTeXテンプレートを晒しておく

More than 3 years have passed since last update.

学部1年の頃からほそぼそと使い続け,自分のLaTeX環境がだいぶ固まってきたので,再構成して晒しておく(これ).もうM2以降で大きくLaTeX環境を変える事はないだろうし.

学部1年生や4年生等,新たにLaTeXを使い始める人の助けになれば.


目的

以下の点を考慮してLaTeX環境を構築した.


  1. できるだけLaTeXを書かないで済む.

  2. LaTeXを書かざるをえない場合にすぐLaTeXを書ける.

  3. 諸々のコマンドラインツールを適宜組み込める.

  4. 後からコミットごとの差分表示ができる.

  5. 表に見えるファイルを汚さない.

の4点.1はLaTeXを描くのが面倒なため,一方でLaTeXの方が早い場面もあるので,2も考慮している.また,3は自分がgraphvizを使ったり,その場で適当にスクリプトを書くことが多いために考慮した.4は変更箇所を他の人に見せる時に便利なので考慮している.

最後に,5は,hoge.logとかTeXが生成するファイルが表に見えるとtemrinal操作等の邪魔になるので,裏に隠したかった.

逆に考慮していないのは,


  1. コマンドの自動補完の効きやすさ(基本的にmacroで短くして対処する)

  2. 多人数で編集する事(好き放題できないし)

  3. Windows/OS Xユーザ(動作確認できる環境がない)

あたり.

また,基本的にテキストエディタでLaTeX等を書く事を想定しているので,ShareLaTeX等使う人には使いづらいと思う.使ったこと無いからわからないけど.


概要


編集環境

overview.png

編集環境は上図の通り.

原則として,記述にmarkdownを,図にdotとsvgを使用し,この2つはPDFに変換する.また,UIの画像を出す時などはHTMLをphantomjsを使ってPDFに変換して使用する.また,LaTeXで書いたほうが早い場面は,LaTeXを直書きしたり(e.g. クラスファイルとか),markdown内に数式を埋め込んだりする.

編集ツールは,テキストエディタとInkscape等を利用する事を想定している.


ビルド環境

ビルドにはmakeを利用.いくつかのビルドツールを検討したが,慣れとコマンドラインツールの呼び出しやすさを考えるとmakeが最適との結論に達した.

ビルド高速化のためのmake draft,1LaTeXファイルにまとめるためのmake assemble,差分をとってpdf化するpdf-diff.shを用意している.


使い方

レポジトリのREADME参照.

YeomanとPhantomjsを使っているのでNode.js必須.その他pandoc等に依存している.