R Markdownで論文を書く

私の記事の中で一番読まれているものは下記のnote。

多分誰かが記事をシェアしてくれたとか、日本語で書いてあるPaperpileの記事が少ないのですぐヒットするとか、そういう理由だと思います。読んでいただいた方ありがとうございます。

Paperpileを押している記事は他にもあり、私の知らない機能もたくさんあってとても便利なようです。 特にiPadでAppleペンでの書き込みなどにも使えるそう。

Zoteroに乗り換え

前の記事でべた褒めしていた私ですが、今もうPaperpileを使うのをやめました。なんともあっさり…

前は文章をGoogle Docsで書いて管理していました。PaperpileのChromeでの拡張機能のおかげで、Google Scholarからすぐに文献情報の取得(そしてPDF保存)ができるのはもちろん、Google Docsでの執筆時の文献引用がサクサクできるのが好きだったのですが、二年生に入ってから、自分の論文をR Markdownで書き始めました。R MarkdownだともちろんPaperpileのありがたい拡張機能は使うことができず、特にPaperpileにこだわる必要がないなと感じたわけです。

R Markdownでは色々引用のスタイルがあるようですが、多分一般的なものはLaTeXで書くときと同じように、bibファイルを読み込むのかなと思います。PaperpileでもBibTeXの出力はしてくれるのでそのまま使い続けることもできますが、bibファイルの出力はZotero(とか他の文献管理ソフト)でもしてくれるのと、なんせPaperpileは有料なので。

Google Docsでの文献引用が楽という点以外で気に入っていた、取り込んだPDFを自動的にGoogle Driveに保存するという部分は、Zoteroでも再現可能でした。

というわけでZoteroに移ったわけです。まだあまり使い心地はわかっていません(Mendeleyはダメかと聞かれたらどうかわからない)。

R Markdownで論文を書く

R Markdownとは、R言語を使ってレポートとかスライドの作成をしてくれるパッケージです。Rなので、書式のフォーマットをマークダウン方式で記述できるだけでなく、出力の際にRの分析コードを実際走らせて数値を出したり図をプロットしたりしてくれます!なので、一旦別のところで分析した統計値を写し間違えたり、間違った図を載せてしまうという間違いが減らせます。

なぜ従来のWordなどではダメなのかetc.、R Markdownの詳しい使い方は下記の高橋先生のコラムが参考になります。

↓の記事はなぜR Markdownで書くのかというところと、なんとなくR Markdownの大まかなアイデアを掴むのにはいいかなと思います。

日本語だとこれかな。

R Markdownを入れてみる

R Markdownのインストール方法は、公式のページがわかりやすかったです。

(私はPDF出力の際に必要なTeXをBasicTeX(Mac用の最小限のTeXパッケージ)を使って手に入れました。というのも通常盤のMacTeXをインストールすると膨大な容量を取るので…ということでしたが、↑の記事によるとTinyTeXというさらに小さなパッケージがあるらしい…なぜ見逃していたのか….)

TeX関係のインストールで参考にしたのはこちら(Mac用)。

R Markdownの最終出力としてはhtml、pdf、wordとなります。他も生成できるかもしれませんが、試したことはありません。

R Markdownからどうしてそんな色んなファイルができるかというと途中でpandocなどがマジックをかけてくれます(詳しくは下記)。

論文の形式を整えてくれる

分野によって論文の形式が違うと思いますが、私の分野である認知科学(認知心理学)だと、APA (American Psychological Association) 方式なので、これもR Markdownだと勝手にそのフォーマット通りに整えてくれます。papajaというパッケージを開発してくださっている方々に感謝です。

LaTeXを覚えたい(勉強中)

R Markdownを使い始めて、慣れるまで時間がかかりましたが、慣れると綺麗に論文形式で出力してくれるので、無駄な手作業が減った気がします(例:見出しを作ったり、斜体にしたり…などたくさんのクリック作業)。まだ分析コードをR Markdown上で走らせる段階まで行っていないので、そこらへんがどうなるかがネックな気もします。

あと、R MarkdownをPDFで出力するときは、LaTeXの文法も使えるそうなので、今はさらにLaTeXにも興味が湧いて、少し勉強中です。ちょうどいい時期に大学で五日間限定の短期集中コースが開催されていたので、参加しています(あと一回で終わり)。

こういうことは全然論文を書く上では本質的ではないというか(Wordでもなんでもいいからさっさと書けという…)、しかしながらキャリアを積む上でやっぱり再現性の高い状態で文章やコードなどを出力したいと思い、時間がかかりますが色々コツコツ勉強中です。Gitとかも、理解するまでは時間がかかったのですが、やっぱり使えるようになってよかったと思いますし。

博士課程は当たり前ですがまだやっぱり学生で、こうやって色々学べる時間があるのは本当にありがたいなと思います。ポスドクの先輩方などを見ていると、もうすでにある程度のルーティンが出来上がっていて、それを崩すのが難しい(時間的に)ということや、こういう研究自体とは直接関係のないスキルを身につけるための時間が取れないという現状があるようです。

自分用のメモなのであまりまとまりがありませんが、この辺で。