LaTeX
Makefile
yeoman
latexdiff

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

More than 1 year has 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等に依存している.