Mendeley + MS Word で日本語デリミタを使用し、引用文献を日本語英語に応じてスタイルを変える

結論からいうと、Mendeley の実装をあやしく変更してできるようになった。ライセンス的には公開してもよいのだと思うが、需要があるのかどうか?いやありそうな気はするが... 万一ほしい方がおられましたらコメント残してみてください。

できることは、

  • CSL スタイルファイルでかってに定義したフィールドによる日本語用 delimeter と and の指定
  • 著者名の半角全角判定による日英自動スイッチ

たとえば、

  • (山田ほか, 2012)

とか、中点を使って

とかできました。

latex + bibtex だったら簡単にできるんだろうか。。

経緯: Word+Endnoteの不満

数年前に、latex はやめて MS Word に移行した。そうなると文献管理が問題で、ほとんど EndNote 一択。これが有料でずいぶん高い割に、いろいろ不満があった。Word でのスタイル設定も問題だったが、日本語文献の引用が現実的には不可能で手作業でやらねばならないことが問題だった。

Mendeley を見つけたが日本語対応が微妙

最近 Mendeley という文献管理ソフトがあると知り、試してみた。無料で文献管理+Wordプラグインまである。日本語文献も、ちゃんと著者名が表示される。あとは日本語的に et al. が「ら」とか「ほか」にできればいいのだが、スタイルファイルで設定するとエラーが出る。。これは CSL なる言語に準拠しているらしく、CSL では Locale 設定にて言語切り替えもできるようなのだが http://citationstyles.org/downloads/specification.html#locale https://www.google.co.jp/search?q=locales-xx-XX.xml+CSL、どうやら Mendeley はハードコードで en-US しか使ってくれないようだ。しかも非ASCII文字だと死ぬらしい。

もうひとつ、引用文献のフォーマット指定は文献の言語ごとに異なることが多い。でもたぶん bib って言語指定フィールドないよね。そこで引用情報から適当に自動検出して違うスタイルを適用したかった。

Mendeley の中身

恐ろしいことに JavaScript で実装されていた。数万行の JS コード。一番深入りしたくないタイプの一つだが、きっと適当なところで文字コード検出してスイッチすればどうにかなるだろう。そう思ってやったら最後にはできたが、ずいぶん時間がかかってしまった。EndNote をあと何度か買う金額だと思えば...