8ttyan’s blog

コンピュータ関係の小ネタ

urlbstコマンドの使い方

latexbibtexを使っていると,参考文献一覧にhyperlinkを付けたくなるが,BibTeXのエントリーのurlにurlを指定しても自動でリンクは貼ってくれない.リンクを貼る方法は3つほどあり,

  1. BibTeXファイルの文献種類を@miscにしてurl = {http://hogehoge.com/hige...}のように登録する.
  2. BibTeXファイルに直接hyperref.styの\hrefコマンドを記述する
  3. urlbstコマンドを用いて,bitexスタイルファイルを書き換える

1の方法だと,すべてmiscしなくてはいけなくなる上,urlがそのまま表示されてしまう.pdfをpc上で表示させるときは文献タイトル自体にリンクを貼った方が見栄えが良い.そこで,2の方法を使うのだが,これだと手間が増えてendnoteやMendeley Desktopなどの論文管理ソフトを使っていると困難になる.そこで,次に説明する3の方法が必要になる. bibtexを使うときは,\bibliographystyle{}コマンドを使って,unsrt,junsrt,jplainなどのスタイルファイルを指定しているが,このスタイルファイル自体を書き換えてしまうコマンドである. 元のファイルが消えてしまうと困るので以下のようにコマンドを打つ.

#!/bin/bash
sudo chmod a+w /usr/local/texlive/texmf-local/bibtex/bst/local/ #書き込み権限付与
urlbst --eprint --doi --inlinelinks --hyperref /usr/local/texlive/2014/texmf-dist/pbibtex/bst/jplain.bst /usr/local/texlive/texmf-local/bibtex/bst/local/jplain_url.bst
urlbst --eprint --doi --inlinelinks --hyperref /usr/local/texlive/2014/texmf-dist/pbibtex/bst/junsrt.bst /usr/local/texlive/texmf-local/bibtex/bst/local/junsrt_url.bst
sudo mktexlsr

第一引数が元のスタイルファイルで,第二引数が変換後のスタイルファイル.変換後のものはtexmf-local内につくる.変換後のファイル名は自由に設定できるが,今回は「junsrt_url.bst」などと元のファイル名に"_url"を追加したファイル名にした.latex内では

\bibliographystyle{junsrt_url}

などとするだけで,文献のタイトル部分にリンクが貼られる.