GitHubに置いてみました.標準のスタイルファイル(plain,alpha,unsrt,abbrv)を作って見た.まぁ一つ作ればどれも殆ど同じなんですが……共通部分をmod-std.luaにまとめてあります.
Windowsならば,大体次のようにすれば使えるはず.ダウンロードしてそのままtexmf/scripts/lbibtex以下に展開,icu.dll(ICU4LuaにパッチをあててLua 5.2とともにビルドしたもの)をTeXLiveかW32TeXのbinに投入,更に次のlbibtex.batをやっぱりbinディレクトリに放り込んでおく.
@echo off for /F "usebackq" %%i in (`kpsewhich lbibtex.lua`) do ( set LBIBTEXLUA="%%i" ) texlua %LBIBTEXLUA% %1 %2 %3 %4 %5 %6 %7 %8 %9
後はlbibtex <auxファイル名>で動くと思う.icu.dllはLua 5.2用なので,bin内にlua52.dllがないと動かないかも.ファイルのエンコードはUTF-8で固定.(.bibも.auxも.)
- ICU4Luaを投入して,中の文字列を基本的に全てUCharにしています.(多分UTF-16?)ソートにはICU内にあったUnicode照合アルゴリズム?を使ってみました.(よくわかっていない.)ICU4LuaはLua 5.2に対応していなかったりバグっていたりしていたので,とりあえず気づいた分は直してみている.
- cross referenceとりあえず実装.とりあえず親から子にコピーするだけですが,biblatexみたいにtitleをbooktitleにコピーするなんてのもできるようにはしてある.
- format_nameはかなりformat.name$に近づけたつもり……
それにしても文献一覧の整形は複雑だなぁ.基本的にはあれがある時はこれを出力して,というだけなんだけど,テンプレート的な記法では限界がある気もする.$<A_if_B>みたいにしてBがあるときにAを出すみたいなのがあればもう少しいいかもしれないけど,なんだか場当たり的な気もするのであまりよくない気がする.
0 件のコメント:
コメントを投稿
コメントの追加にはサードパーティーCookieの許可が必要です