Python
LaTeX
GitHub
Jupyter
Overleaf

論文執筆環境(LaTeX, overleaf, github 等)


概要

現在使っている論文執筆環境のメモ.随時更新予定.


ツール


  • 編集環境:overleaf

  • バージョン管理,バックアップ:github, dropbox

  • 図の作成:matplotlib, seaborn, jupyter, inkscape


Overleaf


  • オンライン latex 執筆環境

  • latex の環境構築を一切することなく,編集から pdf 出力までブラウザ上で完結


    • vim, emacs mode あり



  • GitHub との直接連携

  • 共同編集

ローカルで編集するほうがいろいろと都合がいいこともあるが,環境構築なし・ブラウザ完結はかなり強いのでこれを使っています.


※GitHub との連携


  • overleaf は ver1, ver2 があり,現在どちらも使用可能

  • ver2 では直接 GitHub と連携可能


  • ver1 では git remote repository として利用可能だが,直接 GitHub との連携はできない

    特にこだわりがないのなら ver2 + GitHub がおすすめです.




GitHub


  • バージョン管理,バックアップ等のため利用


  • 月 700 円程度の課金で private repository も作れるので,公開したくない場合はそれを利用すると良い


    • 無料でprivate repositoryを作れるようになりました



Overleaf との連携のほか,Dropbox に local repository を作って作業しています.

つまりあまり意識せずとも 3 箇所で全ファイルが保存されているので,十分にバックアップされています.


Dropbox


  • local repository の置き場

僕は Windows ユーザなのですが,bash on ubuntu on windows で直接操作できます.


matplotlib (+seaborn), Jupyter, Inkscape

グラフ作成のためのツールたちです.

以下の流れで使ってます.


  1. plot 用の csv ファイルを用意

  2. Jupyter 上で matplotlib -> svg ファイルとして保存

  3. Inkscape を使ってちょっと修正


  4. pdf形式で保存



  • matplotlib + seaborn




  • Jupyter


    • 細々とした処理を log として残しておくために使用

    • 図の修正をするときに非常に便利




  • Inkscape


    • matplotlib で作成したグラフを微修正するために使用

    • svg ファイルを編集 -> latex 用に pdf ファイルを保存.(なぜ pdf かはここを参照)

    • layer を使って保存すると再利用性が高く,修正が非常に楽


      • tar 形式で各 layer を別々に保存可能



    • ソフトにチュートリアルがついているので,それをやると良い




その他便利ツールなど


latexdiff


  • 2つのtex fileの変更点を調べ,いい感じにハイライトしてくれるツール

latexdif.png


つかいかた



  1. ここからダウンロード

  2. READMEに従ってインストール


  3. latexdiff --flatten a.tex b.tex (flattenはincludeやinputを持ってきてくれる)

  4. (git用) gitconfigに以下を追加すると,git ldf HEAD test.texで同じことをやってくれる

[alias]

ldf = !sh -c 'latexdiff-vc --git --flatten --force -d diff -r "$1" "$2"' -


Vega-Lite


  • json にグラフを書くために必要な情報をすべて保存できる


    • データや設定など

    • つまりグラフ修正のたびにコードを回す必要はない



  • python で利用するには altairが便利


    • pandas dataframe をそのまま渡せる




  • オンラインエディタあり

matplotlib の代替として使ってみたのですが,白黒グラフを作るのがちょっと辛かったので今は使っていません.

vega-lite_example.png