2014年2月14日金曜日

EndNoteからMendeleyへ。

単純にインポートするだけなら、それほど面倒ではない。

EndNoteのxmlファイルをMendeleyのAdd Fileで読み込むだけ。

ところが…

EndNoteの使い方の一流儀として、EndNoteのRecord Numberを使って紙媒体を管理する、ってのがある。

最近は論文を読むのも管理するのもコンピュータ上だけですむから便利だけど、昔は紙のコピーを取ってきて、それをキャビネットに並べていたわけで。

そこで、大きく分けて2種類の管理方法が使われていた…と思う。

  1. 辞書順あるいは年号順など、自分なりの整理方法を考える。ボックスには「A」あるいは「1992」のように、それなりに探しやすい意味のあるラベルがつく。これは、コンピュータが必須というわけではない。増える文献の差し込まれる位置がまちまちなので、キャビネットの管理が結構大変になりがち。
  2. とにかく入手した順にキャビネットに追加していく。文献探しはEndNoteのRecord Numberに頼る。コピーにRecord Numberを書いておき、ボックスには「1~100」というように、それ自体には何の意味も無いラベルがつく。コンピュータの数字とコピーの数字がずれたり消えたりしたらもう大変。でもキャビネット自体の使い方としては楽。
それぞれに長所短所があるわけだが、2番を採用していた身としては、EndNoteからMendeleyに乗り換えることにしたら、問題にぶち当たった。

MendeleyにどうやってRecord Numberを引き継ぐの?

ググってみたら、これがやっぱり問題になっているらしいし、Mendeley側ではどうも対応していない模様。

さて、どうするか…

とりあえず、xmlファイルの中を見ると一応Record Numberも記載されてるんだけど、インポートした後のデータにはそれっぽいエントリがなくなってる。切り捨てられてるか。

となると、xmlファイルではない方法で読み込まないといけない。…BibTeXか。

EndNoteでBibTeX形式にエクスポートするとき、Mendeleyが読み込んでくれる項目にRecord Numberを入れればいいわけだ。

EndNote側のエクスポートスタイルを編集する。ま、問題なさそうなのは「Notes」あたりかな、と。

まず、メニューからEdit→Output Stylesで「BibTeX Export」を選ぶ。これをEdit→Output Styles→Edit "BibTeX Export"で編集のために開き、とりあえず適当な名前で保存(しなくてもいいけど)。スタイルエディタの左側にあるツリーペインのメニューからBibliography→Templatesを開く。ここで、BibTeXの各項目にEndNoteのどの項目を割り当ててエクスポートするかが指定できる。

では早速…一応全部のスタイルに一つずつやっておくけど、自分の文献リストがJournal Articleしかないなら、そこだけ変えれば十分かもしれない。

`note = `{Notes},

となっているところの「Notes」を選択し、「Insert Field」ボタンから「Record Number」を選ぶ。そして保存。

あとは、これを使ってBibTeX形式(カスタマイズ)のテキストファイルにエクスポート。

…それをMendeleyでインポートするだけで終わりかと思いきや。

Mendeleyが上手く読み込んでくれない。読み込めるのと失敗するのがある。どこが違うんだ…テキストエディタでBibTeXファイルを見てみると、各文献情報の1行目に数字があるのとないのがあって、あるヤツは数字の後ろにカンマがついてる。数字がないヤツはカンマもない。ちなみに、数字はCitation Keyというものらしいが、よくわからない。doiとかPMIDなんかが使われるようになる前からあったものなのかな?

これは…数字がなくてもカンマだけは必要なんじゃない?じゃないと、読み込み項目がずれちゃわない?

ということで、テキストエディタの置換機能を使って、数字がない行だけ最後にカンマを追加。そして再トライ。

はい、これでうまくMendeleyが読み込んでくれました。

しかも、Notesの欄にしっかりちまっとEndNoteのRecord Numberも入ってる。

これで一応はMendeleyから文献を探すときに番号を参照できるわけだ。

めでたしめでたし。

2014年2月9日日曜日

[Obsolete] 続・Mendeleyの文献ファイルをMendeley Webに上げずに複数PC間で同期する

【Dropboxでの同期に問題が発生し、自分の能力では解決できないので、この一連のエントリの作業は全部諦めた。経緯はここで。】

SugarSync終了(無料プラン消滅)のお知らせに伴い、しぶしぶの続編。

そもそも、クラウド便利!っていっても、複数のクラウドをあれこれ細切れで使うのはいいもんじゃない。オーバーレイアイコンもあっという間に消費しきっちゃって同期状況も確認できない始末(これはWindowsの怠慢だけど…8.1でも一向に改善されず)。

Box.comは遅すぎる、SkyDriveは切ろうにも切れない、Dropboxはやっぱり使いたい、そしてSugarSyncはタダでは使えなくなった…

どれか一つだけににお金を払うとしたら?…Dropboxかな、やっぱり(長いものにはまかれとけ)。

いっそ100GB利用にして、同期が必要なデータは極力Dropboxに集約する。

その一環として…ジャンクションを使うしかないか、やっぱり。

Mendeleyのデータフォルダは以下のパスにある。(Usersの場所がCドライブじゃない人もいると思うけど、そういう人はきっと読み替えられる人だから気にしない)
C:\Users\(ユーザ名)\AppData\Local\Mendeley Ltd\Mendeley Desktop

これをDropboxの同期フォルダに移動し、元の場所(↑)からジャンクションを張る。

mklinkを使ってもいいんだけど、Dropboxに限っては専用のソフトが作られているので、こっちを使う方が簡単だし、失敗の可能性を考えると安全かもしれない。

Dropbox Folder Sync addon

使い方は簡単なので特記することもない。もし余計なソフトをインストールするのが嫌なら、mklinkを使えば手動で同じ事ができるからそれもまたよし。

SugarSyncを使っていたときは、任意のフォルダを選択して同期できるのがありがたい、これができないからDropboxに統一できないんだよなぁ…と思っていたが、ジャンクションを使うようになって思ったのは…

クラウドが管理するファイルの実体が何処にあるか、っていうのはローカルでも集中管理されていた方がいいのかも。せっかくジャンクションもあるんだし、積極的に使えばむしろDropboxの方が初めから良かったんじゃない?

って感じ。認知的不協和解消動機が多分に含まれていることは否定しない(^_^;)