last-modified: 2019-04-28 (日) 18:36:58 (1834d)[変更箇所]
文献リストを簡単にhtmlできるかを模索中。 以下はとりあえずの方法。
論文のページからbibtexのファイルをダウンロード。 必要なものがそろったら
cat *.bib >> list.bib
として1つのファイルにまとめる。 (作り直すときにはlist.bibを消しておく。)
こんなtexを作ってlatex,bibtexを走らせてbblを作成。
\documentclass[a4j, 12pt]{article} \pagestyle{empty}%ページ数を印字しない。 \begin{document} \nocite{*} % データベースの中身を全部表示する %%%%%%%%%%%%%%%%%%%%%% \bibliographystyle{unsrt3} \bibliography{list}%文献データベース %%%%%%%%%%%%%%%%%%%%%% \end{document}
unsrt3.bstは自分で改造したもの。好みに合わせて適当に編集。 bstファイルの編集にはここを参考にしました。
次にどこかに転がっている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>"; ##<<
これで作成した文献リストはこんなんです。 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