2014年12月26日金曜日

VAIO Pro 13のブルースクリーン → バッテリーオフボタンで復活?

突然、画面が固まって「VESMgrsub.exe」がエラーとか何だとか出てきて、最後にはブルースクリーンになって再起動。

再起動直前のブルースクリーンには「CRITICAL_PROCESS_DIED」というダイイングメッセージ。調べても意味がわからない。

仕方なく再インストールしてみた。また出た。

もう一度、再インストール。今度はSSDを完全にフォーマットし直して。

そしたら、しばらくは大丈夫っぽかった。

…ついさっきまで。

家から持ち出すためにスリープにして、職場で電源を入れたら、ブルースクリーンの嵐。再起動しても5分ともたずにブルースクリーン。

システムの回復で数日戻してもダメ。ってことはレジストリとかの問題じゃない。まぁ、それは前にも試してるからわかってるけど。

…もしかして。

再起動とかシャットダウンとかしてるけど、結局Windows8/8.1って、UEFIがらみでちゃんと電源落としてることにならないんだよね。

だから、本当に電源を落とすというかリセットするなら、ノートパソコンの場合電池を抜かないといけない。

ところがVAIO Proは電池が内蔵。抜けない。

その代わり「バッテリーオフボタン」を押せばいいのかな?

とりあえず、シャットダウンして、ひっくり返して、シートバッテリー外して…

ポチッとな。

シートバッテリーつけ直して、ひっくり返して、電源スイッチ押して…

おや。

どうも、直ったっぽい?

少なくとも、起動直後にブルースクリーンが出ることはなくなった。

う~む。

そりゃ、そういう目的で用意されたボタンだから、押してみるってのは有りだと思うよ。

でもね、ちょっと想像がつかないよ、CRITICAL_PROCESS_DIEDと言われてバッテリーオフってのは。

とにかく、今後は覚えておきましょう…何かあったら、とりあえずバッテリーオフボタン。再インストールの前にバッテリーオフボタン。

2014年12月17日水曜日

WindowsとMendeley・謎と恐怖のジャンクション

あかん。もうダメだ。諦めるしかない。

Mendeleyの制限(ある意味バグ?)であるところの、

「"%USERPROFILE%\AppData\Local\Mendeley Ltd\Mendeley Desktop\Downloaded"にダウンロードしたファイルをFile Organizerで移動したければ、移動先のフォルダは同じパーティション内になければならない。」

という問題について。

そもそも、いろいろな手段で入手したPDFファイルをMendeleyがFile Organizerを使って一箇所にまとめてくれる、ってのがありがたいのだが、上記の制限(バグ?)があるためにいろいろ困っている。

My Documentsとか、あれこれのデータファイルをシステムパーティション(ドライブ)から独立させるためにいろいろやってんのに、WindowsのあるCドライブからDドライブにFile Oranizerがファイルを移動してくれない。

でも、Dドライブにフォルダを作って、Cドライブのどっかからジャンクションを張っちゃえばいいんじゃない?んで、File Organizerにはジャンクションの方を指定すれば見た目は同じパーティションになるでしょ?

…そう、「一見」うまくいったように見えた。

しかし。

ジャンクションを通して実体ファイルにアクセスするとき、どうやらファイル名の扱い、特にUTF文字に難があるような気がする。具体的には、実体ファイルを同じパーティションに置くようにしたときには問題ないのに、ジャンクションを通して別パーティションに置くようにした場合にはファイル名がぶっ壊れてしまうものがある。ファイル自体は壊れていないが、ファイル名がおかしくなるのでMendeleyからはアクセスできなくなる。

そういうファイルには「õ」だとか「Á」だとかという文字が入っている。

ってことは、やっぱりWindows的に、ジャンクションを介するとファイル名の文字コードがうまく渡されない危険があるってことにならないかな?Mendeleyのファイル処理との関連もあるのかもしれんけど。

で、これまでいろいろ困ってたことって、この問題が関わってるんじゃないかな?と。なんかね、Windowsの内部的にはUTF-16LEなのに、表面的というかファイルのやりとりとかをする時にはUTF-8でやってるような気がするんだけど。その辺でうまくいかないとかって、自分の理解度じゃ追い込めないし改善・回避方法も皆目見当がつかない。

だとしたら、もう諦めるしかない。同じパーティションのどこかに実体のフォルダを作り、そこをFile Organizerの移動先を指定する以外に方法はない。

なんか釈然としないけど、仕方ないな…

WindowsのコマンドプロンプトでUnicodeのファイル名を扱うためのバッチファイルをどうたらこうたら。

とりあえず目的は果たしたんだけど、イマイチまだわかってない感じがする。

でも、一応備忘録としてメモしておこう。

まずは復習

Windowsのコマンドプロンプト(cmd.exe)でウムラウトやアクサンのついた文字を使いたかったら、コマンドプロンプトを開いた後にもう一度cmd.exeを「/u」オプションをつけて実行する。

たとえば、そういう文字のついたファイルを含むたくさんのファイルをいっぺんに処理するため、バッチファイルを作る。まずはディレクトリ内の全ファイル名を取得してみよう。

dir /b > DirList.txt

これでカレントディレクトリのファイル名がDirList.txtに1行1ファイルで出力される。

このファイルを開くと、その文字コードはUTF-16LE(BOM無し)になっている。

さて、このファイルをあれこれして、バッチファイルを作ったとしよう。

バッチファイルをそのままUTF-16LE(BOM無し)で保存すると、なんとこれが動かない。バッチファイルの最初の1文字をコマンドとして処理しようとして、「そんなコマンドないよ」と文句を言ってくる。

で、このバッチファイルをどうすればいいかというと…UTF-8(BOM無し)で保存する。内容は全く同じ、でもこっちじゃないと動かない。

そして、更に、このファイルをコマンドプロンプトでそのまま実行すればいいのか、というと…

コマンドプロンプトのコードページを切り替えないといけないんだな。じゃないとウムラウトなどは「半角カタカナ」になっちゃう。

chcp 65001

これでコマンドプロンプトの表示がUTF-8(BOM無し)になる。やっと作ったファイルが実行できる。

いやいや、なんとめんどくさい。

特に訳がわからないのが、dirコマンドで出力されるファイル名をリダイレクトしてファイルに流し込むとUTF-16LE(BOM無し)になるくせに、コマンドプロンプトのコードページは1200(UTF-16LE)に切り替えようとするとエラーになっちゃうもんだから65001(UTF-8)にせざるを得なくて、すると実行するためのバッチファイルの形式はUTF-8にしなくちゃいけない、と。

なんで統一してくれないんだろう。なんでcmd.exeを最初っからUTF-8にしてくれないんだろう。なんでdirコマンドはUTF-16を吐き出すんだろう。

まったくわからない。

でも、一応はやりたいことができるようになった。

2014年11月8日土曜日

MarvinでDropboxに置いたCalibreのEPUBを読む、そしてEBPocketで辞書引き。

【2014/11/29追記】 iPadのみの話だが、URLスキームよりマルチタッチジェスチャーの方がいいかもしれない。詳細は最後に。

【以下オリジナル投稿分】

iOSのMarvinアプリにはCalibreをサーバモードにすれば直接EPUBをやりとりできる機能がある。だから、このエントリの情報はその点についてはあまり意味が無いかもしれない。

ただ、自分としてはMarvinにEPUBを取り込もうとした時に母艦のCalibreをいちいち動かさないといけないのも面倒な気がする。なので、CalibreのライブラリフォルダをDropbox上に置いている場合、そこから直接EPUBを読み出せる方が簡単かな、と。

Marvinの設定でそういう使い方が可能ってことに気づいたので、とりあえず手順を書いてみる。といっても簡単すぎてメモとしての意味も薄いので、ついでにURLスキームを使ってEBPocketの辞書引きが簡単にできるように設定する件もメモしておく。
  1. Home画面の左上にある設定アイコンからダイアログを開く。
  2. Home→設定→ServicesのタブでDropboxへのリンクを作る。Dropbox側から許可の確認があるのでOKする。
    • 「Tap here to set a custom search directory」にCalibreのライブラリを置いてあるフォルダをセットする。
  3. Home→設定→Menuタブで「Customize」ボタンの一つをEBPocketに割り当てる。
    • Button→「EBPocket」
    • Command→「ebpocket://search?text={define}#marvinapp://」というURL Schemeをセットする。
    • 「Visible in menu」を「✔」にする。
以上。これでMarvinで閲覧中のEPUBの中で、調べたい単語を長押しするとEBPocketでの辞書引きがメニューに現れ、EBPocket画面で検索語の入力欄の右側に「戻る」が現れるので、これを押せばすぐにMarvinに戻れる。

この「戻る」を出す方法がよくわからなかったんだけど、i文庫HDのEBPocket連携の設定方法と、Marvinの開発関連の掲示板かな?というところにあった「x-callback-url」関連の話題のところにそれっぽい記述があったので、それを組み合わせてみたらうまくいった。

具体的に言うと、「ebpocket://search?text={define}」でMarvinからEBPocketに検索語を送ってアプリを切り替えることができる。ただし、これでは「行き」の分しか設定してないので「戻る」が表示されない。「戻る」を表示するためには、上記のURLスキームの後ろに「#marvinapp://」を追加する。この戻りURLを指定する「#」という記述はi文庫HDのEBPocket連携の設定例に入っていた。で、「marvinapp://」の部分はx-callback-urlの設定例の最後の部分に指定があったので入れてみた。

ま、知っている人には今さらのことなんだろうけど、自分としては初めてそういう使い方を知ったので、メモしておこう。ちょっとうれしかったのでMarvinを有料版にした。

【2014/11/29追記分】

iPadにのみ搭載されている機能として、「マルチタッチジェスチャー」というのがある。4本指(乃至5本指)で横にスワイプするとタスクを切り替えられるという機能(他にもあるけどとりあえずここではこの機能が重要)。

URLスキームでEBPocketを呼び出すと、その都度起動時の真っ黒い画面がしばらく出てから辞書引きが始まる。そんなに長時間じゃないんだけど、毎回これが出てくると結構うっとうしく感じる。

そこで、EBPocketのクリップボード検索機能を使ってみる(Professional版のみ対応だけど)。

  1. まずEBPocketを起動して、次にMarvinを起動する。逆順で起動すると下のスワイプ方向が逆になる。
  2. そして、辞書を引きたい単語を見つけたらロングタップして選択し、それをコピーする。
  3. 次に、4本指で画面を左にスワイプすると、EBPocketにタスクが切り替わる。このとき、クリップボードに送っておいた単語が自動的に検索され、ヒットした辞書のエントリが表示される。
  4. Marvinに戻るときは4本指で右にスワイプ。

iPad限定ではあるけれど、URLスキームよりこっちの方がいいかもしれない。というのは…

  • EBPocketからMarvinに戻る際、「戻る」ボタンが画面上端付近、検索窓のすぐ横にあるため、iPadの画面サイズで上端まで手を動かすのは面倒。(←なんという横着) 4本指スワイプでの切り替えならタッチ位置はどこでも構わないので楽。
  • EBPocketへの切り替えの際に起動画面が表示されないので時間短縮になるしうっとうしくない。こっちの方が重要。

2014年8月7日木曜日

Google ChromeでGmailを使っているとき、ラベルが勝手に隠されてしまう件

単に自分が知らなかっただけのこと。世の中的には常識レベルかもしれない。きっとそうだろう。

GmailをChromeで使っていて、最近「あれっ?」と思ったのが、左側に表示されるラベル一覧の下の方が「その他のラベル」となって、ラベルの一部(下の方)が隠されてしまっていること。

ラベルの設定で「表示」に設定していても、あるいは「未読の場合は表示」と設定していて未読がある場合でも、自動的に隠されてしまっている。

「その他のラベル▼」をクリックすればびょ~んと広がってラベルが全部見えるようになるんだけど、そこで未読があるラベルをクリックすると、またびょ~んと縮まって隠されてしまう。他の未読ラベルはまたびょ~んと広げないと見えない。

ああ、うっとうしい。

で、何とかできないもんか…といろいろ探していたら、そのラベル一覧の一番下に「・・・」みたいなアイコン(?)が。マウスカーソルをそこに持って行くと「ガジェット」と表示される。

これをクリックすると…

ラベルが全部表示された!

ただし、ラベルの一番下に表示されていた「Google カレンダー」が消えた。

どうやら、「ガジェット」=「Google カレンダー」(その他?)であり、それを表示しようとするとラベル一覧が長すぎるから、気を利かせて(?)適当なところで折りたたんでくれていたようだ。なんというおせっかい(←勝手な思い込みに基づく個人的意見)。

自分としては、Gmailのラベル一覧の下の小さな欄内でカレンダー(予定)を見ることにありがたみを全く感じないので、喜んでカレンダーを消してラベル一覧を表示する方を選ぶ。

落ちは無し。それだけの話。

…………と思っていたら。

Gmailの設定の「Labs」で、Googleカレンダーガジェットが「有効」になっていたからカレンダーがラベル一覧の下に現れていたんだね。これ、有効にしたのは自分なのかな?記憶にない…(^_^;)

で、どうせ不要なら無効にすればいいじゃん。

…無効にしたら、そもそもガジェットの表示をトグルする「・・・」自体が表示されなくなり、いつでもラベルが全部表示されるようになりましたとさ。

今度こそおしまい。カレンダーあるいは別のガジェットを表示させたくなったらまた設定を考えましょう。

2014年6月24日火曜日

Windowsのフォントリンク覚え書き

Source Code Proなどのプログラムに適したフォントに、日本語の読みやすいフォントをリンクするとエディタの見やすさがかなり向上する。個人的にはメイリオが読みやすいので…ただ、2バイト文字と1バイト文字のフォントを別個に指定できるエディタならそんなの気にしなくていいことなんだけど。WZ Editorって良かったんだなぁ。

ま、それはさておき、たとえばSource Code Proをフォントリンクするときに気をつけないといけないこと。フォントリンクそのもののやり方はいろんなところで解説されているので省略。

  1. Source Code ProのフォントはOTFではなく、TTF形式をインストールすること。でないとどうもうまくいかないようだ。少なくとも自分の環境ではTTFにしたらうまくいった。
  2. フォントリンクに用いるファイルは、「ショートカット」でインストールするのではなく、実体をWindows\Fontsフォルダに入れること。つまり、普通の「インストール」をすればいい。
人によっちゃ「何をそんな当たり前のことを…」程度のなのかもしれないし、もしかしたら大外れなのかもしれないけど、ちょっとハマったのと、一応は解決したので、とりあえずメモっとく。

2014年4月26日土曜日

MendeleyのデータベースファイルをDropboxで同期するのは問題があるようだ。

ここまでぐだぐだと書き連ねてきたことのほとんどをひっくり返すこのエントリ。もうこのブログ自体止めちゃえば良いんじゃないかと思う。

まぁ、やり方が間違っていたわけじゃないと思うし、見に来てくれていた人も少しはいたようなので、まるきり無かったことにするよりも警告を発しておいた方がいいんじゃないかとも思うので、ブログ自体を消すのは思いとどまる。

結論から言うと、「Dropbox経由で複数PC間のMendeley環境を無理矢理同期すると、一部の、特定の、PDFに対してリンク切れが発生する模様。従って、Dropbox経由でのMendeley環境の同期はお薦めできない。」

っていうか…状況がよくわかってない。でも、上手くいかないことだけは確かなので、その解決に労力を割くよりは諦める方が簡単かな、と。

具体的な問題は以下の通り。
  1. MendeleyにPDFファイルを読み込ませ、書誌情報を適切に書き換える。
  2. その時点では、PDFアイコンをクリックすれば正しく表示される。
  3. いろいろやってるとお掃除したくなるので、「Tidy Up」を実行する。
  4. すると、「リンク切れファイルがたくさんあるよ」と言われてしまう。
  5. 「Tidy Up」をそのまま実行すると、2.で正しくリンクされていることを確認したはずのPDFファイルの一部が「お片付け」されてしまい、Archiveフォルダに飛ばされてしまう。
  6. 当然、書誌情報のPDFアイコンが消え、クリックしてみると「そんなん無いよ」と言われてしまう。
  7. もう一度、Archive内のファイルを手動で追加してみると、一見上手くいったように見える。1.の状態に戻った感じ。
  8. そして、Tidy Upをかけるとまた同じ事になる。2.以降の繰り返し。無限ループ発生。
さて、Tidy Upをかけなければいいじゃん、という意見もあり得る。でも、正しく動いてくれないのは気持ちが悪い。しかも、どういう規則で無限ループの対象ファイルが決まるのかがわからない。たとえば、ファイル名に特定の文字が使われているとおかしくなるという可能性については、特に目立った文字が見当たらないので、他の「無事」なファイルとの違いがわからない。

一度、意を決して完全にライブラリを消去し、全くのゼロからライブラリを再構築してみた。でもやっぱりダメだった。

なので、もう諦める。

一瞬、EndNoteへの出戻りも考えたが、もしかして…

Dropboxを使って全環境を同期してるのがそもそもMendeley側からすれば想定外なわけで、もしDropboxに環境ファイルを触らせなかったら?

→はい、問題なし。今まで無限ループに陥ってたファイルも全部問題なく、Tidy Up実行後もリンク保持。

ということは、Mendeley的に「正しい」使い方は、やっぱり「正しい」ってことなんだ。「全ファイルへのリンク付きデータベース」はどれか1つのPCに集約し、他のPCはMendeley WebにSyncしたファイルのみが読める状態にする。そして、一応Dropbox上に全ファイルの保管場所を定めておけば、Mendeleyのデータベースからのリンクではアクセスできないけど、ファイル自体はDropboxを使っている全PCで読むことができる。Mendeley Webに上げるのは重要論文・現在進行中のプロジェクトに関連する論文のみにしておけば、無料の範囲内でも収まるんじゃない?

現状、そういう設定にしてみたら問題は全く起きていない。ということは、DropboxがMendeleyの環境ファイルに対して何かしらの変更を加えていたということかな?そこら辺は詳しくないので追求できない。

とにかく、「使える」ことが大事なんでね、敢えて裏技的な使い方で問題を発生させて解決できないといらいらするよりは、「正しい使い方」をしておけば問題ないならそうしましょう、ということ。

ただし、容量の限られたノートPCにDropbox上の全PDFファイル+Mendeley Web Syncで落ちてきたPDFファイルが入っている状態になり、必然的にファイルが被ってしまう。ただでさえ容量が厳しいのに…ま、その辺は自分の仕事に必要なコストと考えて、受け入れるしかないのかな。ノートPCを母艦にするのはさすがに怖くて…。

EndNoteの出戻りは、アップデートでも2万円することを考えると、Mendeleyの有料プランを契約して全ファイルをMendeley Webに上げちゃってもそこまでのコストにはならんと考え、今回の検討では却下という結論。

それに、ちょっとEndNoteの最新版をお試しで入れてみたんだけど、個人的にはMendeleyの方が使いやすそうなんだよね…なので、Mendeleyが使えるならそっちの方がありがたい、ということもあり。

ゆくゆくは有料プランも考えようかな、という覚悟?もできた、という顛末。

2014年4月21日月曜日

MendeleyのFile Organizerの文字化けバグ?

File Organizerで取り込んだファイルに自動的に名前をつけるようにしているが、その命名方法の指定によって、ファイル名が何やら不思議なことになる。

自動でファイル名をつけるとき、何を使って生成するかの指定項目は以下の4つ。

  • Author
  • Year
  • Title
  • Journal
このうち、Titleを指定すると、なぜかファイル名が面白いことになる。WestheimerがÃになってみたり、Fiという綴りが®になってみたり。

で、命名規則からTitleを外してApplyすると、全部のファイル名をいっぺんに書き換えてくれるのだが、そうするときれいに文字化けが直る。

Mendeleyさん、ずいぶん前にこの件でバグレポートされてるのに完全放置ですか。まぁ、Title使わなきゃいいだけなんだけどね。

でも、別件でMendeleyに嫌気がさしてきた。金を払ってもEndNoteの方がまだマシかもしれないと、出戻りを真剣に検討中。ユーザインタフェースはMendeleyの方が好みなんだけど、いろいろとまともに動かない。自分の使い方が悪いんだろうけど…。

2014年4月15日火曜日

WindowsのコマンドプロンプトでUTFなファイル名を扱う。

ちょっとMendeleyにトラブルが発生。よくある話みたいだけど、ファイルのリンクが切れた。

で、SQLiteの中身を見て、登録されているファイルの一覧を書き出す。

そして、Mendeleyに登録したはずのファイル一覧をコマンドプロンプトから取得する。

つまり、ファイルを整理しているフォルダの最上位の階層でコマンドプロンプトを開き、以下のコマンドを実行すれば、「いったんはMendeleyが受け付けて自動的に整理して配置したファイル一覧」が出来上がる。
dir /s /a-b /b > FileList.txt
dirコマンドのオプションは「再帰的に取得」「ファイルのみを取得(フォルダ名は不要)」「ファイル名のみを取得(ファイルサイズや日付などは不要)」という意味。

ところが、これをただ普通に行うと、Shift-JISで出てきちゃう。アクサンとかウムラウトのついた人名のファイルはそういう文字のついたファイル名で整理されてるのに、自動的にその辺を外したプレーンなアルファベットに変換されちゃう。

そりゃ困る。SQLiteから抽出したファイル名はURLエンコードだから、Unicode変換すると一致しているかどうかの判別がめんどくさくなる。

なので、何かできないかと調べてみたら…

コマンドプロンプトを起動するときに/uというオプションをつけるといいんだって。

Windows 8[.1]の場合、とりあえずコマンドプロンプトを実行してから、そのプロンプトでもう一度cmd.exeを/uオプション付きで実行しちゃえばいいわけだ。

そして、さっきのdirコマンドを実行すると、今度はファイル名一覧がUTFエンコードで取得できる。これでMendeleyからリンクがロストしたファイルを抽出できるわけだ。

…そういう問題が起きないのが一番なんだけど。

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の方が初めから良かったんじゃない?

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

2014年1月9日木曜日

WebサイトをEPUB(またはMOBI)に変換する(そしてKindleで読む)

いろんなところの情報を探し回るのに苦労したけど、なんとか最終的には成功したので、一応備忘録メモ。

用意するもの

  1. EPUB化したいサイトのURL(当たり前)
  2. CompleteGetter(Webサイトをごっそりダウンロードするソフトなら何でも可)
  3. Sigil(HTML→EPUB変換ソフト)
  4. Calibre(EPUB→MOBI変換に使う。MOBIが不要ならここはいらない)
やることは…上記の順。

それだけじゃ何なので、少しくらいは…

CompleteGetterの設定は不要。URLをブラウザからコピー&ペーストして実行。

Sigilの段階では少し手を入れる必要があるかも。サイトの構造がサブフォルダ(サブディレクトリ)へのリンクを含んでいる場合、落としたHTMLファイルを全部Sigilに突っ込むだけでは終わらない。Sigilのコードエディタでも、Sigilに突っ込む前に慣れたテキストエディタでも、何かしらを使って全部同じフォルダレベルにあって、ファイル名だけでリンクできるようにリンク記述を書き換えておくこと。

その際、サブフォルダにはindex.htmlなど、ルートフォルダと同じ名前のファイルが存在することが多いので、重複しないように適当にリネームする。もちろん、リンク元ファイルのリンク記述はそれに合うように書き換える。

とりあえず読めればいいのなら、CSSとかはあまりいじくらなくてもいいかな。その辺は、できあがりの見てくれを見て考える。

出来上がったEPUBファイルをCalibreに読み込ませたら、「変換」でMOBIにする。これはプラグインが必要だけど、それほど大変な作業ではない。ちょっと時間がかかるけど、慌てずのんびり待つこと。

最後はMOBIファイルを自分のKindleアカウントにメールで送る。

以上。