読者です 読者をやめる 読者になる 読者になる

Mendeley DesktopのOffice Word PluginをWord2011 for Macで使う

ちょっとしたリファレンスを作る必要があったんでMendeleyのWordプラグイン使ってみようと思ったら使えるようになるまでひと手間かかったんでメモ。
Mendeley曰く1.0.1ではOffice2011 for Macにも対応してますよ。といっているんだけど、単純にインストールしただけだと使えない。というかそもそも使い方がよくわからなくて、使えるのかどうかなんて思いもよらない状態だった。

解決方法はだいたいmake Mendeley compatible with Office 2011 for Mac! I'm already using it! – Customer Feedback for Mendeleyに書いてあるのでここも参照してください。

まず、MendeleyのtoolsからInstall Office Word Pluginを選択してインストール。
これが

/Users/ユーザ名/Documents/Microsoft ユーザー データ/Word Script Menu Items/Word Script Menu Items/Mendeley/

というディレクトリにインストールされる。このディレクトリは間違っているのでMendeleyディレクトリごと

/Users/ユーザ名/Documents/Microsoft ユーザー データ/Word Script Menu Items/

に移動。移動後Mendeley内にあるスクリプトファイルを確認して

  1. スクリプトファイルをダブルクリックで開く
  2. 別名で保存
  3. 実行専用にチェックを入れて上書き保存

1〜3の処理をすべてのファイルに対して行う。

ここでOfficeを起動(もしくは再起動)するとメニューバーの「ウインドウ」と「ヘルプ」の間にあるスクリプトマークのなかにMendeleyという項目ができている。Mendeleyが起動していればここから「Insert Citation」などを選択するとMendeleyプラグインが起動して文献を検索することでリファレンスを作成することができるようになる。

真核生物の分類がよく解らなかったので調べたんでメモ。

簡単にいうと植物の定義が良く解らん。藻類って植物じゃなかったのかよ。

  • UniProtのswissprotにある分類(OC行)のEukaryota以下の記述を元にした。
  • いくつかの分類名がグループを形成しているが、このグループ名(アーケプラスチダ、クロムアルベオラータ、エクスカバータ)はswissprot中には記述されていない。
  • 分類名の次に書いてある数字はswissprotのエントリ数。
  • 使用したバージョンはUniProtKB/Swiss-Prot Release 2010_09 of 10-Aug-2010

狭義の植物は緑色植物だけ。紅藻と灰色藻をあわせてアーケプラスチダArchaeplastida)と呼ばれ、これを広義の植物とすることが多い。

分類名 エントリ数 ja.wikipedia.org en.wikipedia.org
Viridiplantae 29439 緑色植物 wikipedia_ja wikipedia_en
Rhodophyta 1008 紅藻 wikipedia_ja wikipedia_en
Glaucocystophyceae 157 灰色藻 wikipedia_ja wikipedia_en

クロマルベオラータChromalveolate)と呼ばれるグループ。

分類名 エントリ数 ja.wikipedia.org en.wikipedia.org
Alveolata 905 繊毛虫、アピコンプレクサ、渦鞭毛藻 wikipedia_ja wikipedia_en
stramenopiles 504 不等毛藻、ストラメノパイル wikipedia_ja wikipedia_en
Cryptophyta 225 クリプト藻類 wikipedia_ja wikipedia_en
Haptophyceae 114 ハプト藻 wikipedia_ja wikipedia_en

エクスカヴァータExcavate)と呼ばれるグループ。

分類名 エントリ数 ja.wikipedia.org en.wikipedia.org
Metamonad 0 メタモナス wikipedia_ja wikipedia_en
Jakobida 27 エクスカバータの一種 wikipedia_ja wikipedia_en
Heterolobosea 41 ヘテロロボサ、ペルコロゾア wikipedia_ja wikipedia_en
Euglenozoa 676 ユーグレナ植物門(ミドリムシ)、キネトプラスト類 wikipedia_ja wikipedia_en

分類名 ja.wikipedia.org en.wikipedia.org
Rhizaria 108 リザリア wikipedia_ja wikipedia_en
アーケプラスチダにクロムアルベオラータ、エクスカバータ、リザリアを足したものをバイコンタと呼ぶ。これも植物界の定義の一つだが広すぎるために実用性に乏しい。くわしくは植物 - Wikipediaを参照のこと。

それ以外の原生生物。アメーバとか。こいつらは植物扱いしなくて良い由緒正しい?原生生物。

分類名 エントリ数 ja.wikipedia.org en.wikipedia.org
Amoebozoa 4472 アメーバ、カオス wikipedia_ja wikipedia_en
Choanoflagellida 26 襟鞭毛虫 wikipedia_ja wikipedia_en
Diplomonadida 52 重複鞭毛虫、双子鞭毛虫 wikipedia_ja wikipedia_en
Parabasalia 23 パラバサリ wikipedia_ja wikipedia_en

動物と菌類。

分類名 エントリ数 ja.wikipedia.org en.wikipedia.org
Metazoa 98011 動物 wikipedia_ja wikipedia_en
Fungi 26218 菌類 wikipedia_ja wikipedia_en

exiftoolを使って写真の情報を管理

exiftoolとは

デジカメなどで撮影した写真に付加されるexif情報を読んだり書いたりするツール。もともとはperlのモジュールだけど、いまはMac版、Windows版ともにスタンドアロンで実行できるバイナリとしてExifTool by Phil Harveyで配布されているのでperlわからなくても大丈夫。
ただ、コマンドラインから使うソフトなのでMacならターミナル、Windowsならコマンドプロンプトから実行しないといけません。多少面倒ですがいっぺんに複数のファイルを簡単に処理できるという利点もあります。

画像ファイル(jpgやRAWファイル)のexifを読む

$ exiftool 画像ファイル

とすれば画像ファイルのexifを確認することができますよ。


デジカメで撮った画像ファイル(RAWでもjpgでもなんでもいい *1 )を使って試してみるとファイル名(File Name)やサイズ(File Size)など一般的なものから、メーカー、カメラ名など基本的exif、メーカー独自の情報(Nikonの場合D-LightingのON/OFFなど)が記録されているのが解ります。
こんなかんじ。

File Name                       : xxxxxxxx.NEF
File Size                       : 13 MB
    :
    :
Make                            : NIKON CORPORATION
Camera Model Name               : NIKON D300
    :
    :
Active D-Lighting               : Normal
    :
    :
Lens ID                         : Voigtlander Nokton 58mm F1.4 SLII

日本語で表示したい時には

$ exiftool -lang ja 画像ファイル

とすれば

ファイル名                           : xxxxxxxx.NEF
メーカー                            : NIKON CORPORATION
アクティブDライティング                    : 標準
レンズID                           : Voigtlander Nokton 58mm F1.4 SLII

となります。

狙った情報だけ見たいときには

$ exiftool −(見たい情報のタグ) 画像ファイル

とします。
例えばレンズID(タグ名はLensID)を見たいなら

$ exiftool -LensID 画像ファイル

とします。

タグ名を調べるときにはここでも調べることができますが、
嫌がらせみたいなページなのでデジカメで撮った写真を参考にしたほうがいいかも。
タグ名とexif内の名前は一致しない(たとえば「Lens ID」のタグ名はLensIDとなる)のでそのままでは使えません。

$ exiftool -s 画像ファイル

とすることでexifをタグ名で出力してくれます。先程の例だと

FileName                        : xxxxxxxx.NEF
FileSize                        : 13 MB
Make                            : NIKON CORPORATION
Model                           : NIKON D300
ActiveD-Lighting                : Normal
LensID                          : Voigtlander Nokton 58mm F1.4 SLII

となります。

画像ファイルのexifを書き換える

さて、exiftoolを使うのに多くの人は書き換えるのに使うんじゃないかと思います。かくいう僕もフィルムで撮ってスキャンしたファイルにexifを追加したりとかするわけです。
そんなときには

$ exiftool -(追加・変更したいタグ名)="exifに加えたい内容" 画像ファイル

とします。

例えばカメラメーカーとカメラ名、それにレンズ名を加えたい場合は、

$ exiftool -Make="NIKON CORPORATION" -Model="NIKON D300" -LensID="Voigtlander Nokton 58mm F1.4 SLII" 画像ファイル

とします。
内容はダブルクォーテーションで括るのを忘れないようにしてください。
exifを読むときとの違いは「-タグ名=中身」となっている点ですね。
exiftoolはこの違いを認識して読み出しと書き込みを変えているんだと思います。

ざっと見た感じ、よく使いそうなタグをメモしておきます。

タグ exif内で英語名 exif内で日本語名 注釈
CreateDate Create Date デジタルデータ作成日時 撮影日時 例)2010:07:25 15:38:35
ISO ISO ISOスピードレート
ExposureTime Exposure Time 露出時間
FNumber F Number F値
FocalLength Focal Length レンズ焦点距離
Orientation Orientation 画像の向き 普通の位置:Horizontal (normal),
時計回りに270°:Rotate 270 CW
LensID Lens ID レンズ ID レンズの名前を全部入れるところぽい
Ai AF Nikkor 50mm/F1.4Dなど
LensSpec Lens レンズ 50mm f/1.4 AFとか
ExposureProgram Exposure Program 露出プログラム 絞り優先AEなら
Aperture-priority AE
Flash Flash ストロボ 未発光:No Flash
発光時:未確認
Aperture Aperture 絞り F Numberと同じだけどFlickrはこっちを読んでる?
ShutterSpeed Shutter Speed 露出時間 Exposure Timeと同じ


このほかは適当に探してください。
タグが一般的なものかメーカ依存かは-Gオプションをつけるとわかります。

$ exiftool -G 画像ファイル

で確かめてください。

*1: 対応しているファイル形式はhttp://www.sno.phy.queensu.ca/~phil/exiftool/#supportedに一覧があります。要するにほとんどのファイル形式に対応。

タンブラーの画像をランダムに並び替えるぐりもん

Tumblrのダッシュボードでfollowしてるヒトの画像を見てるのは楽しいんだけど、特にお気に入りのタンブラーで色んな画像やらコレクションを楽しみたいってこともあるんじゃないかと思う。そんなときに役に立つのがA Random Tumblrさんが公開しているTumblr Shuffle Anywhereというぐりもん。
このスクリプトShantiさんが公開している、Tumblrのページにランダムボタンを設置するTumblr shuffle scriptをぐりもん化したもの。

ランダムで表示すると、Tumblrの面白さがもっともっと味わえる。コレは大発見じゃないかな。ダッシュボードで気に入ったヒトのタンブラーをもっと味わっちゃうと良いと思うよ。

これを入れた状態で誰かのページ(http://*tumblr.com/)にアクセスすると、左上にshuffleボタンが表示される。これをクリックするとランダムに表示されるっていう仕組み。言葉で説明するよりもやってみた方がわかりやすいので試してみて欲しい。

Santiさんの書き込み、Untitled Shanti - Tumblr Shuffle Anywhereを参考に、書き換えると左上にが表示されるようになってFollowボタンとかと統一されたデザインになるのでオススメ。

いちいちアイコンを取りに行くのはアレなので、スクリプトにアイコンをデータスキームで持たせてこんな感じで書き換えて使ってます。

--- tumblrshuffleanywhere.user.js	2008-03-04 20:08:43.417075200 +0900
+++ tumblrshuffleanywhere_new.user.js	2008-03-04 20:11:45.919500800 +0900
@@ -16,12 +16,36 @@
 	return;
 }
 
+var ICON = 'data:image/png;base64,'+
+'iVBORw0KGgoAAAANSUhEUgAAAEYAAAAUCAYAAAAwaEt4AAAABGdBTUEAANbY1E9YMgAAABl0RVh0'+
+'U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAATYSURBVHjaYvz//z8DIyNjH8MogANgmBQB'+
+'BBAjkAYFyqfR4EABfAABxDQaBtgBQABRPWAKCgpUhkPAAAQQRlZiYWFhNDY25mNnZ4cH2ocPH35f'+
+'u3bt658/f/6jG8DPz8+ioaHBDU5/fHys27ZtSz9//vwNKyurddjUD5WsBBBAGAGjp6fHc+HChWJg'+
+'gYyi8uXLl6/d3NwWXbp06QtMrKurS7+wsNAXGJjM6CafOHHisq2t7fohGjh8AAGEkZU4OTmZ0QMF'+
+'BMTFxUWBAVYUGhoqCeLv27fPu7S0NABboICAmZmZtpycHAc2ORsbG8FFixZZT5w40RhdDpsYMQCk'+
+'Lzs7WwnGB5kPsodcMwECCCNg7ty58+3KlSu37969++jWrVsP7t+//+QvEIDzHRA8ffr0+9SpU00d'+
+'HR1NYHrev3//8ebNm/dBeqDV3X8XF5ep9+7d+45u/v79+30OHz6cBww4pdTUVJdv376VI8vn5eX5'+
+'kOoJkJkgs8zNzcGR9vbt2zwHBwdtfX19QXLNBAggjIABGvpbV1d3mYqKynx1dfWFSkpKc4GppROU'+
+'ldra2tZ9+fLlT2ZmphdM/axZs7YLCQlNAJYzi4B4wbNnz176+vrOADr2HTYLgQ42BmaxSUC1i7m4'+
+'uDqBKZQDPUZBMQ+KcXQxWAoA0bDUAWIDs78SsAy8B3TLNZA40D2CBw4cuAqMwHv4UixyCkMHAAHE'+
+'QkzogQJLQkJimrCwMOujR48KYVlt9+7dp9LT008hqwU6ci5IPT7z5syZ47Nz585r+fn5Z4FmNaLL'+
+'d3d3h7558+Y9KOHB5HNzc61PnTp178iRI0fT0tK0QCkO5HFQqgAFBEgNiA1LNSB5IHUU3eyNGze6'+
+'+Pn5WQNT+L3Y2FgXYLl51N/ffw+6OoAAIqm6BtY2CcBY5gSxvwKBl5fXDmR5UEFLKFBycnJAKYUT'+
+'lLyBHq8HJXtYSoABUEoClk+ziHETKHBAnty6detZEDsuLg4cGKAUiU09KFBAbgDJg2gQH5s6gAAi'+
+'OmDWrVvnJCsrKwVi//79+w8wZUzt7+83dnJyEkZXx8PDw4wrCaupqQmCPA1KCaAsBRLftWtXGj2r'+
+'nClTpsSCIgVE41IDEEAYWYmDg4Opvb3dAOg5NmAK+MvGxsZsaWmpoqmpqQxTExISMkdHR4cPGOLe'+
+'WVlZ/7dv334CWEi/A+phDQgIsHn48KGOvLz8VGB59BfZbFBSB6WU1atXg7LEeyi+5urqSlStAWwz'+
+'gVOrlpaWFCUBM2nSpC2gbAwqY8rLy12wqQEIIIyAAXqYB9h69cVlKCgQNm3a9PLx48fp4CTHxMTo'+
+'7e1tiawGlOeBNVSGsrLyDOTAASV1YFlxD1QrgZI/KEsBU6EkyKGEPDN58uSj0Ji2fvfu3fvXr1+/'+
+'JzdQQJEDq6lw2Q0QQBgNPBMTE77Tp08Xoiv8BwTAQnMnrLAF1lRsR48ejQZ6Xg6bwaAySFpaesLH'+
+'jx//YMtSoAIUxIaVCYOtgQcQQBgBAyofZsyYYQnsEsBTEzCGvnd2dl7C1i6JiIiQAmYfFVDKATX2'+
+'gGzbHz9+fAdW9xOBVffPodolAAggqg87AFvEPjExMbuHcKCAAwYggKgeMKBO6BDuPMIDBiCAqD7s'+
+'MAwCBQwAAohxdGgT+9AmQIABAMCgK/CNvysBAAAAAElFTkSuQmCC';
+
 var style = [
 	'position: fixed',
 	'top: 3px',
 	'left: 3px',
-	'color: #fff',
-	'background-color: #000'
 ].join(';');
 
 var postsPerPage = document.evaluate(
@@ -44,7 +68,7 @@
 		var shuffleElem = document.createElement('p');
 		shuffleElem.className = 'shuffle';
 		shuffleElem.innerHTML =
-			'<a href="' + uri + '" style="' + style + '">Shuffle</a>';
+			'<a href="' + uri + '" style="' + style + '"><img src="'+ICON+'" style="border:0;"></a>';
 		document.body.appendChild(shuffleElem);
 	}
 } );

Santiさんのshuffleアイコンを勝手に使っています。何か問題があったらすぐに消しますので、問題がありましたらご連絡ください。
データスキーム変換は[JavaScript] dataスキームURI生成(画像データのBase64変換)でさせていただきました。

ReblogCommandで「t」を押してもreblogできない。

ZeroMemoryさんが公開しているLDRize minibuffer reblog commandでピンを立ててReblogっていう快適な生活をしてたんだけど、ピンを立てなくてもReblogできるReblogCommandがminibuffer作者のsnj14さんのところで公開されていたので早速使ってみた。

インストールしてLDRizeの「>」マークがあるところで「t」を押せばReblogできるハズなんだけど、なにもおきない。でも「Shift+t」を押すと別タブにReblogウインドウが開くのでぐりもん自体は動いている様子。なんでかなーとおもってソースを眺めていたら、tがreblogってコマンドを呼んでいて、それがLDRize minibuffer reblog commandエイリアスに登録していた「reblog」コマンドと干渉しているらしいことに気がついた。

$ pinned-node | reverse | tumblr.reblog
とすれば問題なし。僕の環境だと「|」が入力できなかったのでコピペする方針で。最初にコマンドを打ち込んだら実行せずにCtrl+cでこれらのコマンドに名前を付けちゃいましょう。Reblogとかつけておけば今後はながったらしく打ち込む必要はありません。

Tumblr v3用いろいろ - Muibrog

で、このエイリアスを消せば良いんだけど、これがどこにあるのかわからなくて嵌った。結論としてはabout:configのなかでした。アドレスバーに「about:config」と入力して「minibuffer」で検索すると、

greasemonkey.scriptvals.http://white.s151.xrea.com//Minibuffer.alias

という設定名があって、ここにエイリアスが登録されているのでreblogを消せばオッケー。reblogしか設定して無くても全部消すのではなくて値を“[]”にしておかないと動かなくなるったので注意。
これで無事に「t」だけでreblogできるようになりました。

【追記】
LDRizeMinibufferは最新版にバージョンアップしておかないと動かないようです。
バージョンアップ後はスクリプトの順番を

  • Minibuffer
  • LDRize
  • ReblogCommand

の順番にすることを忘れないように。

LDR Full Feedで画像が表示されないときはrefControlを使おう。

LDR Full Feedが浸透して、はてなRSS版Google Reader版といずれもLDR版のSITE_INFOに対応したスクリプトが公開されています。

LDR Full Feedもバージョンアップを重ねて、LDR Full Feed 0.0.7では相対リンクを絶対パス化できるようになって、より多くのサイトで画像も見られるようになりました。

なんですが、絶対パスになっているのにも関わらず見られないサイトが結構あります。例えばITmediaなんかがそうなんですが、この「史上最薄のThinkPadは光学ドライブを搭載:大和の技術を結集した“究極のThinkPad”――「ThinkPad X300」発表会」という記事のフィードから全文取得するとこんな風になって画像を見ることができません。

下の方に「og_x300_001.jpg」という文字が見えます。これが画像の代わりに表示されているわけですね。なんで表示されないかというと、画像へのアクセスに対してリファラをチェックしていて、外のサーバからだとはじかれてしまうためです。

そこでFirefoxの「RefControl」という拡張をつかって騙します。この拡張は特定のURLのときに指定したリファラを送ることができる拡張です。Autopagerize+LDRize+MunibufferでTumblrを使っている方はもうインストールしていると思います。

インストールするとFirefoxの下にあるステータスバーにアイコンが表示されるので、ここをダブルクリックして設定ウインドウを表示します。

ここで「Add Site」からサイトを追加するのですが、ITmediaの場合は画像がimg.itmedia.co.jpというサーバの上にあって、そこにITmediaのURLをリファラとして送りたいので

  • Site:img.itmedia.co.jp
  • Action:オプションの中から「Forge」を選択。

実際にはActionを「Custom」にしてitmedia.co.jpでも良さそうですが、ITmediaにはいろんなURLがあって面倒なので強制的にSiteと同じURLを送るForgeの設定にしておきます。リファラとしては「img.itmedia.co.jp」が送られることになります。こうするとめでたく画像が見えるようになりますよ。
on

さて、ほかのサイトでもこの手順でいけるんですが、fc2はForgeではうまくいきません。

【追記】
id:Constellationにfc2はリファラなしだと見えるよってコメントをいただきました。
fc2.com全体にリファラを送らない設定にすると画像をLDR上で見ることができるようになります。
refControlの設定は

  • Site:fc2.com
  • Action:オプションの中から「Block」を選択。

で個別に設定しなくても大丈夫です。
コメントありがとうございました。

以上追記。以下はまあ参考になれば*1



fc2は

ブログのURL
http://xxxxxx.blogXX.fc2.com/
画像サーバのURL
http://blogXX.fc2.com/x/xxxxxx/file/a.jpg

のようになっています。xxxxxはサイト固有の名前、blogXXのXXには数字が入ります。
refControlの設定を

  • Site:blogXX.fc2.com
  • Action:オプションの中から「Forge」を選択。

とするとうまく画像が見えません。そんなblogはねーよってことなんでしょう。
そこで、

とするとめでたく見えるようになります。同じサーバ(XXが同じ)ときにまた改めて設定しないといけないかどうかまで検証してないのでちょっとわかりませんが、その辺は臨機応変にってことで。

*1:ならないだろうけど

LDR Full Feedで全文取得できるエントリにアイコンを表示する

昨日SITE_INFOをwikiで共有できるようになるみたいって書いたら早速LDR Full Feed 0.0.4が公開されて、SITE_INFOが共有できるようになりました。id:Constellation++

便利でしょうがないLDR Full Feedなんだけど、ホッテントリとか自分のお気に入りブクマなど、いろんなサイトの記事が含まれているフィードを読んでるときには、それぞれのエントリが全文配信出来るのかどうかわからないとちょっと不便。
0.0.3までみたいに自前のSITE_INFOに書き込んでたならともかく、共有できてどんどん増えていくと把握できない。エントリごとになんかマークでもついてたらわかりやすいなってことでいじってみました。

--- ldrfullfeed.user.js	2008-02-20 18:35:52.520420800 +0900
+++ ldrfullfeed_new.user.js	2008-02-20 18:35:31.970872000 +0900
@@ -292,6 +292,24 @@
   }
 });
 
+// 全文表示できるときだけアイコンを表示
+var description = "\u5168\u6587\u53d6\u5f97\u3067\u304d\u308b\u3088\uff01";
+w.entry_widgets.add('LDR Full Feed', function(feed, item){
+  var link = item.link.replace(/#/g,'%23');
+  for (var i = 0; i < SITEINFO_IMPORT_URLS.length; i++){
+    for(var j = 0; j < cacheInfo[SITEINFO_IMPORT_URLS[i]].info.length; j++){
+      var reg = new RegExp(cacheInfo[SITEINFO_IMPORT_URLS[i]].info[j].url);
+      if (item.link.match(reg) || feed.channel.link.match(reg)){
+        return [
+          '<img src="http://api.feed-media.com/img/getcontentsmark.gif" border=0>'
+        ].join('');
+        break;
+      }
+    }
+  }
+}, description);
+
 // == [Utility] =====================================================
 
 function relativeToAbsolutePath (text, link){

変更するときにはブラウザのサルのアイコンを右クリックして、「ユーザスクリプトの管理」からLDR Full Feedを選んで「編集」で上の+のついてる行を[Utility]の前に足してください。(先頭の+は消してください。)

アイコンは「g」で本文を取得するlivedoor Reader用GreasemonkeyスクリプトでF.Ko-Jiさんが使ってるマークを使わせていただきました。

実際に使ってみると、
全文を取れる(SITE_INFOにある)エントリだとこんな風に表示されます。

取れないエントリにはアイコンがつきません。

これでホットエントリみたいにいろんなページが混じってるフィードでも安心してgをぽちっと押せますよー。