* 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