Sunday, 8 August 2010

(Google) Papers の整理

あんまり、考えずに、iTuens の PDFを Papers に食わしちゃったので、Title とかの情報がない。

一方で、bibtex も食わしてしまったので、PDF があるのに、それと継ってない reference がある。

と言う最低な状況だったんですが、Papers は、sqlite3 なので、それを除いてみると、すごい複雑。これをDatabase 直接いじったら、整合性が取れなくてきっと落ちる。

なんだけど、Papers を bibtex で export してみたら、そこに local-url で pdf の path が出るのね。で、それを import 出来る。

ってことは、

(1) bibtex に、local-url を手動で足してやれば良い。

(2) reference のPDFは、iTunes の Title, Author, Year の情報を抜きだして、それを付加してやれば良い。

iTunes からは、AppleScript を使って、TextEdit に書き出すことに。それを、あとで、Perl で整形。AppleScript で、いきなりBibTexを出すのは僕には無理です。

tell application "iTunes"
set pdfs to some playlist whose name is "pdf"
repeat with pdf in (every track of pdfs)
set s to size of pdf
set n to name of pdf
set a to album of pdf
set author to artist of pdf
set y to year of pdf
set nl to "
"
tell application "TextEdit"
set e to count of character of document 0
copy (((s as string) & " | "& author & " | " & n & " | " & a & " | " & y as string) & nl) to character e of document 0
end tell
end repeat
end tell

とかやるみたい。なんだよ。このcopy "hoge" to character (count of character of document 0) of doucument 0 ってのは。だから、AppleScript は嫌いなんだけど。


Papers のPDFと、iTunes のPDFの対応は、sizeを見ればわかるらしい。

なんだけど、最後に、この方法だと、Papers のPDFが重複してしまうことが発覚。find で、重複しているものを探して、だいたい、Author = Unknown になっているので、手動で削除。自動は出来ないんです。

Papers が AppleScript を受け付けないんで。300以上手動で消しました。ってことは、700ぐらいしかなかった。あんまり論文読んでないな〜 だめじゃん。

まぁ、普通の人は、Papers は、Web からpaperを取って来るために使うんだから、こんなことはしないよね。

AppleScript は、text で save しないとだめだな。

No comments: