Google Driveで文献管理 Paperpileが凄い
研究者を悩ませる文献管理
研究者にとって、増え続ける論文は仕事の効率を悪くする。
- ほしい文献がどこに行ったか覚えていない
- supporting informationどこよ
- ファイルがダブっている
- てか読んだっけ?
なんてことは日常茶飯事で困っていた(情報整理とか豆なことは苦手)。
そこで文献管理ソフトを使うわけだが、日本では以下が有名どころのようだ。
文献管理ソフトの例
ただ、どれも容量に制限があったり、結構高いお金がかかったりとパッとしない。
求めることは
- オンラインストレージに文献保存
- クラウドでの文献管理環境
- メモ的なものが書けて、かつ簡単に確認できる
こんなのないかなーとずっと思っていたら、あった。
Paperpile
Paperpileの特徴
- 文献はGoogle Driveに保存
- ブラウザからワンクリックでインポート&pdfダウンロード
- メモが簡単&閲覧も簡単
- Google Docsにcitationができる。
- academic use(要学校のアドレス)なら家でも文献ダウンロードできる??(気がするだけ?)
- ブラウザベースなので引用元を簡単に表示できる。
まぁとにかく凄い。
管理させるだけなら最強では?
残念な点
- wordプラグインは開発中らしい(フォーラムによると優先度低め)
- PCからでないと使えない。
タブレット版はベータテスト中らしいが、いつ正式版がでるのか不明。
ただ、Google DriveにあるpdfはGoogle Driveに追加できるMetaPDFでコメントをペタペタしながら読めたりするので別にいいかも。
日本語で紹介・解説している人を見たことがないので参考になれば。
os.walkでエラーが出た
pythonの話題。
なお環境はAnacondaで構築して、python3.5となっている。
普段使っていたスクリプトがファイル読み込みでエラーをはいたのでその原因を調べた。
pandasとかいう便利なやつ
データ分析する人なら御用達のpandas。
エクセルファイルを簡単に読み込める凄いやつ。
こいつで複数ファイルをループして読み込みまくろうとしたらことが起きた。
こいつのバージョンが問題なのではと色々調べたが、結局問題はもっと根本的なところにあった。
なんだかglobとかos.walkが怪しい…
細かい説明はすっ飛ばして結論を言うと、excelとかのofficeソフトって._XXXXXXって感じの隠しファイルを生成していて、Ubuntuはもれなく条件にヒットしたファイル名を拾ってしまう。
windowsではこれを自動で無視するらしくglobだろうがos.walkだろうが問題にならない。
この._XXXファイルが読めないよ!!ってエラーをはいていたのだった。
ありがた迷惑である。
.(ドット)で始まるファイルを除けばいい
ということで隠しファイルを除くサンプルスクリプトを書いた。
import os parentPath = 探したいディレクトリのパス for root, dirs, fnames in os.walk(parentPath): for fname in fnames: if not fname.startswith("."): print(fname)
わかってしまえば簡単だった。
Ubuntuをアップデートしたらネットに繋がらなくなった
いつもの調子でsudo update!!PC
すると突然、DNSエラーが出てネットに繋がらなくなった。
同じ症状で困っている人もいると思うので記録しておく(調べれば一瞬で解決だけど)。
DNSサーバーって?
雑な言い方をすると、google、yahooなどの名前からIPアドレスを教えてくれるサーバー。
PCはIPアドレスがわからないと、googleやyahooやその他のPCなどに接続できない。
でもIPアドレスを毎回打ち込むのも、覚えるのも大変。
ニックネームだけ覚えて、ユーザーとしては実際のIPアドレスは隠蔽したい。
そんな面倒くさい部分を管理してくれているのがDNSサーバー。
なんで突然繋がらなくなった?
細かいところはわからないが、DNSサーバーの指定だか何かが勝手に書き換わってしまうらしい。
なんだそれ。
書き換えられないようにハードコードして解決
/etc/resolvconf/resolv.conf.d/head
最終行に
nameserver 8.8.8.8
と追記。
再起動すればネット復活。
まとめ
勉強になりました。
UbuntuでOneDriveを使いたい
Ubuntuで直感的にOneDriveを使いたい。
rcloneとかいう便利なソフトがあるらしい。
GUIもあるから設定してみた。
そんなお話。
rcloneってなに
Linux使いならよーくご存じだと思われるrsyncのクラウドバージョン。
それがrclone。
色々なクラウドストレージに対応しているようだ。
- Google Drive
- Amazon S3
- Openstack Swift / Rackspace cloud files / Memset Memstore
- Dropbox
- Google Cloud Storage
- Amazon Drive
- Microsoft OneDrive
- Hubic
- Backblaze B2
- Yandex Disk
- SFTP
- FTP
- HTTP
- The local filesystem
インストール
まずはインストールする
snapとかいうパッケージ管理マネージャ的な何かをaptでインストールしておく
sudo apt install snapd
snapでインストール
sudo snap install rclone --classic
アップデートしたい時
sudo snap refresh rclone --classic
rcloneを設定する
rclone config
interactiveに設定できる。
一問一答形式なので困ることもない。
No remotes found - make a new one n) New remote s) Set configuration password n/s> n name> remote Type of storage to configure. Choose a number from below, or type in your own value 1 / Amazon Drive \ "amazon cloud drive" 2 / Amazon S3 (also Dreamhost, Ceph) \ "s3" 3 / Backblaze B2 \ "b2" 4 / Dropbox \ "dropbox" 5 / Google Cloud Storage (this is not Google Drive) \ "google cloud storage" 6 / Google Drive \ "drive" 7 / Hubic \ "hubic" 8 / Local Disk \ "local" 9 / Microsoft OneDrive \ "onedrive" 10 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH) \ "swift" 11 / Yandex Disk \ "yandex" Storage> 9 Microsoft App Client Id - leave blank normally. client_id> Microsoft App Client Secret - leave blank normally. client_secret> Remote config Use auto config? * Say Y if not sure * Say N if you are working on a remote or headless machine y) Yes n) No y/n> y If your browser doesn't open automatically go to the following link: http://XXXXXXXXXXX/auth Log in and authorize rclone for access Waiting for code... Got code -------------------- [remote] client_id = client_secret = token = {"access_token":"XXXXXX"} -------------------- y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
上記のコマンドたちについて少し説明。
ここは空欄で良いです(この後自動設定で、OneDriveのページヘ行き認証を行うため)
Microsoft App Client Id - leave blank normally. client_id> Microsoft App Client Secret - leave blank normally. client_secret>
もし、自動でブラウザが立ち上がらない場合、以下の部分に書かれているurlヘ飛ぶ。
If your browser doesn't open automatically go to the following link: http://XXXXXXXXXXX/auth
OneDriveの認証画面が現れるので、承認する。
最後に
e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q>
と聞かれるので、qを入力して終了。
このままでもCUIでコマンドを叩けば使えるが、rsyncのdeleteオプションが付いている状態でファイルのやり取りがされるらしく…
クラウド上のファイル全削除なんて事故が頻繁に起こるらしい。
ましてやコマンドなんてしばらく使わなければ忘れるもの。
そこで、ファイル全削除なうえ復元不可…なんて惨劇を回避するためにGUIを導入します。
RcloneBrowserの導入
rcloneがインストールされて、設定が終わっていることが前提です。
インストールする
sudo add-apt-repository ppa:mmozeiko/rclone-browser sudo apt-get update sudo apt install rclone-browser
これだけでインストールができるらしい…が、私の環境ではなぜかパッケージのダウンロードの段階で404 not found。
メンテナンス中とかだったのだろうか…。
仕方ないのでRcloneBrowaer公式からdebをダウンロードして直接入れた。
ダウンロードしてきたフォルダに移動して以下のようにコマンドを入力。
sudo dpkg -i rclone-browser_1.2_amd64.deb
準備は整った。
実行する。
rclone-browser
こんなwindowが立ち上がったら成功。
rcloneの設定が終わっていないとポップアップがでてきて、rcloneの設定をさせられる。
出てきたウィンドウに、rclone locationと.rclone.confのpathを入力すれば導入完了。
rcloneの場所がわからなければ
which rclone
で調べられる。
.rclone.confの場所は人によって違うかもしれないが、
/home/yourname/.rclone.conf
あるいは、Ubuntuなら
/home/yourname/.config/rclone/rclone.conf
となっている…と思う。
まとめ
Ubuntuからwebブラウザを経由せずにOneDriveにアクセスできるようになった!
マウント機能もあるらしいがexperimentalなので触らないでおく。
Ubuntuのアップグレード
アップグレードの前に設定を確認
英語版Ubuntu
- システム設定
- Software & Updates
- Updates のタブ を選択
- Notify me of a new Ubuntu version で「 For any new version 」を選択
日本語版Ubuntu
- システム設定
- ソフトウェアとアップグレード
- アップデート のタブを選択
- Ubuntuの新バージョンの通知 で「 すべての新バージョン 」(デフォルトは長期サポート(LTS)版)を選択
いよいよアップグレード
sudo apt update sudo do-release-upgrade
再起動
sudo reboot
development release versionを入れる場合、更に次のコマンドを実行して再起動。
sudo do-release-upgrade -d sudo reboot
以上。
念の為バージョン確認
lsb_release -a
NeoVim + deinで快適なエディタ生活【Ubuntu 16.04 LTS】
Neovimの導入
neovimのよくあるインストール方法
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt-get update
sudo apt-get install neovim
これでとりあえずのインストールは完了。
deinのインストール
これまでのvimなら.vimrcファイルに設定をゴリゴリ書き込んだり、NeoBundleでパッケージしたりします。
なんだか最近はdeinというものでパッケージ管理するのが流行りらしい。
パッケージとneovimそのものの設定を分けて置けるので、パッケージ管理が格段に楽になる。
準備する設定ファイル
init.vimは今までの.vimrcと同じノリで書けば良い。
ただ、dein.tomlを読み込むために以下の内容を追記しておく必要がある。
let g:python_host_prog = 'python2のパス' let g:python3_host_prog = 'python3のパス' let s:dein_dir = expand('deinをインストールする場所のパス') let s:dein_repo_dir = s:dein_dir . '/repos/github.com/Shougo/dein.vim' if &runtimepath !~# '/dein.vim' if !isdirectory(s:dein_repo_dir) execute '!git clone https://github.com/Shougo/dein.vim' s:dein_repo_dir endif execute 'set runtimepath^=' . fnamemodify(s:dein_repo_dir, ':p') endif
deinでプラグイン管理
deinは便利で良いが…一般人には書き方がわかりにくい。
F言語?というものらしいので、最低限必要なことをまとめておく。
Shogo氏のdenite.nvimを入れる場合、パッケージを入れたいだけならdein.vimにとりあえず以下のように記述する。
[[plugins]] repo = 'Shougo/denite.nvim'
同じようにして、どんどん追記していけばいい。
遅延読み込みがしたければdein_lazy.tomlに書き込んでおくらしいが、私は使っていないので紹介できない。
そのうち、プラグイン管理に必要なF言語について必要な部分だけまとめる。
markdownで論文・レポートを書く、実践編【Ubuntu 16.04 LTS】
markdownからwordへ変換する最も簡単な方法
test.mdの中に適当にマークダウン形式で何か書いておく。
<test.md>
# Heading1 ## Heading2 hogeほげ - list - list - list 1. list1 1. list2 1. list3
で以下のコマンドを入力
pandoc test.md -o test.docx
test.docxという名前でワードファイルが生成されるはずだ。
もうちょっとステップアップ
ここからが本番。
細かいことは後述するが大まかに以下の3つがあればとりあえず論文が書ける。
図のreferenceは今回取り扱っていないが、(生物系の)投稿論文では図とメインテキストを分けることがほとんどなので問題にならないだろう。
おおまかな手順は以下の通り。 1. 予め、テンプレートとなる書式設定をしたtemplate.docxを準備しておく 1. bibtexやEndnote XMLで引用したいreferenceファイルを作っておく 1. citationスタイルを決めるcslファイルを準備しておく(後述) 引用はmarkdownファイル中の任意の場所で[@hogehoge]とでもすれば良い。
準備ができたら、以下のようにwordを生成すると投稿先スタイルになっている。
投稿先が変わったらテンプレートファイルやcslを差し替えれば良い。
めっちゃ楽!!
pandoc test.md -o test.docx --reference-doc template.docx --bibliography=references.bib --csl style.csl
–reference-doc template.docx
で書式設定
–bibliography=references.bib
でリファレンス埋め込み
–csl style
でcitationスタイルを決定している。
さいごに
markdownで論文・レポートを書く、環境準備編【Ubuntu 16.04 LTS】
論文やレポートの体裁を整えるのはひたすら苦痛だ。
これらのいい所だけ集めたのがpandocだ。 markdown、word、texファイルを相互に変換できる。 (本当はもっと色々できる)
中途半端な感じかと思ったが、凄かったので備忘録を残しておく。 たくさん書くのは疲れるので環境準備編と実践編に分ける
Latex環境の構築
pandoc環境の前にLatexをインストールしておく。 細かい仕様は確認していないが、Latexを入れておかないとpdf化ができないらしい。
apt-get update
apt-get upgrade
sudo apt-add-repository ppa:texlive-backports/ppa
sudo apt-get install texlive-lang-cjk
test.texという名前で以下を保存
¥documentclass{jarticle} ¥begin{document} hogeほげ ¥end{document}
正しくインストールされたことを確認
dvipdfmx text.dvi
test.pdfが生成されたはず。
pandocのインストール
pandoc単独で入れてもいいが、anacondaを使ってpythonをインストールするとついてくる。
anacondaのubuntu版をダウンロード
https://www.continuum.io/downloads
ダウンロードしたディレクトリに移動して、以下のコマンドでインストール
bash ~/Downloads/Anaconda3-4.4.0-Linux-x86_64.sh
python –version
以下のようにpythonのバージョンが出力されればうまく行っている。
Python 3.6.1
pandocも確認しておく
which pandoc
pandocのpathが出力されれば成功している。