2015年6月5日

GitHubに置いてみました.標準のスタイルファイル(plain,alpha,unsrt,abbrv)を作って見た.まぁ一つ作ればどれも殆ど同じなんですが……共通部分をmod-std.luaにまとめてあります.

Windowsならば,大体次のようにすれば使えるはず.ダウンロードしてそのままtexmf/scripts/lbibtex以下に展開,icu.dllICU4Luaパッチをあてて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の許可が必要です