編集メニュー > 新規作成 編集 コピー 名前の変更 アップロード 添付ファイル一覧 バックアップ

* bibからhtmlへ [#v507863b]
文献リストを簡単にhtmlできるかを模索中。
以下はとりあえずの方法。

** bibtexファイル [#zb8dffcb]
//[[NSR>http://www.nndc.bnl.gov/nsr/index.jsp]]で人名などで検索をかけ、bibtex形式をファイル(例えばlist.bib)に保存する。
//不要な部分を削除しておく。
論文のページからbibtexのファイルをダウンロード。
必要なものがそろったら
 cat *.bib >> list.bib
として1つのファイルにまとめる。
(作り直すときにはlist.bibを消しておく。)

**bblファイルの作成 [#j33dcc9e]
こんなtexを作ってlatex,bibtexを走らせてbblを作成。
 \documentclass[a4j, 12pt]{article}
 \pagestyle{empty}%ページ数を印字しない。
 \begin{document}
 \nocite{*} % データベースの中身を全部表示する
 %%%%%%%%%%%%%%%%%%%%%%
 \bibliographystyle{unsrt3}
 \bibliography{list}%文献データベース
 %%%%%%%%%%%%%%%%%%%%%%
 \end{document}
&ref(unsrt3.bst);は自分で改造したもの。好みに合わせて適当に編集。
bstファイルの編集には[[ここ>http://www.med.osaka-u.ac.jp/pub/anes/www/latex/bibtex.html]]を参考にしました。

** bbl2html.awk [#z77eff35]
次にどこかに転がっているbbl2html.awkをダウンロードしてくる。
そのままではいまいち変換がうまくいっていなかったので、以下のように修正し、
bbl2html2.awkとして保存。
 
   # some trivial math
   userfind["math"]    = "([^\\\\])\\$([^\\$]*)\\$";
 # original
 #  userreplace["math"] = "\\1<var>\\2</var>";
 #modified
   userreplace["math"] = "\\1\\2";
   # for super and subscripts:
 ## original >>
 ##  userfind["math.sub"]    = "([^\\\\])(\\$|<var>)(.*)_([a-zA-Z0-9]|{.*}|\\\\[\
 a-zA-Z]+)([^\\$]*)(\\$|</var>)";
 ##  userreplace["math.sub"] = "\\1<var>\\3<sub>\\4</sub>\\5</var>";
 ##  userfind["math.sup"]    = "([^\\\\])(\\$|<var>)(.*)\\^([a-zA-Z0-9]|{.*}|\\\\
 \[a-zA-Z]+)([^\\$]*)(\\$|</var>)";
 ##  userreplace["math.sup"] = "\\1<var>\\3<sup>\\4</sup>\\5</var>";
 ##<<
 ## modified >>
 userfind["math.sub"]="(\\$|)([0-9a-zA-Z ]*)_{([0-9a-zA-Z+\\-, ]+)}(\\$|)";
 userreplace["math.sub"] = "\\2<sub>\\3</sub>";
 #                     1     2                  3                    4
 userfind["math.sup"]="(\\$|)([0-9a-zA-Z ]*)\\^{([0-9a-zA-Z+\\-, ]+)}(\\$|)";
 userreplace["math.sup"] = "\\2<sup>\\3</sup>";
 #                        1     2                 3                      4
 userfind["math.supsub"]="(\\$|)([0-9a-zA-Z]*)\\^{([0-9a-zA-Z+\\-, ]*)}_{([0-9a-\
 zA-Z])}(\\$|)";
 userreplace["math.supsub"] = "\\2<sup>\\3</sup><sub>\\4</sub>";
 #
 userfind["math.doi"]="DOI:(DOI:)?[ ]*(.+)";
 userreplace["math.doi"] = "DOI:<a href=http://dx.doi.org/\\2>\\2</a>";
 ##<<


これで作成した文献リストは[[こんなん>http://ribf.riken.jp/~kondo/list-20100806.html]]です。
APSやElsevierのタイトルは上付きになっていなかったりと微妙。

以下のようなスクリプトでbblファイルを作成しておくと便利。
 rm -f list.bib list.aux list.bbl list.blg list.dvi list.html list.log
 cat bib/*.bib >> list.bib
 platex list.tex
 bibtex list
 platex list.tex
 platex list.tex
 ./bbl2html2.awk list.bbl > list.html