[Github:入門]Githubを勉強ノートとして使ってみました


目次

概要

統計学・機械学習の勉強をしているのですが、勉強したメモをネット上に保存して好きなときに確認できれば便利だと考え、上手くいきそうな方法を探してみたので備忘録としてメモを残しておきます。

ちなみに今のところの出来上がりはこんな感じです。GitHubリンク

GitHubを利用することは直ぐに思いたのですが、数式を含んだ文書をどうするかで苦戦しました。結局、Python関連に関してはJupyterLabを利用し、数式を含むメモに関してはTexを使用する方法に落ち着きました。しかし、Texでメモを作成するる使いづらさも残っているので良い方法を知っていましたら教えていただければ嬉しいです。

[保存したいもの]

  • 数式を含んだ勉強メモ
  • Pythonのコードと実行結果
  • ちょっとしたメモ

[具体的な方法]

数式を含んだメモはTexでpdfを作成してGitHubに投稿する。Pythonのコードと実行結果はJupyterLabのファイル(.ipynb)をそのままGitHubに投稿する。JupyterLabでMarkdownが使用できるので、数式を含まない簡単なメモもJupyterLabで作成してGitHubに投稿します。

[使用するツールやサービス]

  • GitHub
  • JupyterLab
  • Tex
  • VSCode

Texのインストール

[インストール環境]

  • macOS Mojave(10.14.6)
  • VSCode (v1.45.1)

[インストール手順]

Homebrewを使用してMacにTexをインストールしました。インストールの方法は@sira様のこちらの記事を参考にさせて頂きました。

> brew cask install basictex
> sudo tlmgr update --self --all
> sudo tlmgr paper a4
> sudo tlmgr install collection-langjapanese
> sudo tlmgr install latexmk
# この後にjlistingの設定を実施しました。

[latexmkの設定]

latexmkはTexファイルのコンパイルからpdf作成までを一度に実行してくれる便利ツールです。使用するには設定ファイルが必要で、設定ファイル(.latexmkrc)をTexファイルのあるディレクトリかホームディレクトリに作成します。ホームディレクトリに作成すれば任意の場所でlatexmkが使用できるので、今回はホームディレクトリに作成しました。設定の内容はコピペしてきたのですが、コピー元のサイトがわからなくなってしまったのでリンク貼れませんでした。すみません。

~/.latexmkrc
#!/usr/bin/env perl

# LaTeX
$latex = 'platex -synctex=1 -halt-on-error -file-line-error %O %S';
$max_repeat = 5;

# BibTeX
$bibtex = 'pbibtex %O %S';
$biber = 'biber --bblencoding=utf8 -u -U --output_safechars %O %S';

# index
$makeindex = 'mendex %O -o %D %S';

# DVI / PDF
$dvipdf = 'dvipdfmx %O -o %D %S';
$pdf_mode = 3;

# preview
$pvc_view_file_via_temporary = 0;
if ($^O eq 'linux') {
    $dvi_previewer = "xdg-open %S";
    $pdf_previewer = "xdg-open %S";
} elsif ($^O eq 'darwin') {
    $dvi_previewer = "open %S";
    $pdf_previewer = "open %S";
} else {
    $dvi_previewer = "start %S";
    $pdf_previewer = "start %S";
}

# clean up
$clean_full_ext = "%R.synctex.gz"

[vscodeの設定]

Texで文書を作成するのエディタとしてVSCodeを使用するので、Texの編集に便利なモジュールをインストールします。VSCodeでの環境構築には@Gandats様のこちらの記事を参考にさせて頂きました。VSCodeの設定は以下の様にしました。"latex-workshop.intellisense.package.enabled"以下を追記してます。

setting.json
{
    "editor.tabSize": 2,
    "editor.detectIndentation": false,
    "python.jediEnabled": false,
    "editor.parameterHints.enabled": false,
    "window.zoomLevel": 0,
    "javascript.updateImportsOnFileMove.enabled": "always",

    "latex-workshop.intellisense.package.enabled": true,
    "latex-workshop.latex.clean.fileTypes": [
      "*.aux",
      "*.bbl",
      "*.blg",
      "*.idx",
      "*.ind",
      "*.lof",
      "*.lot",
      "*.out",
      "*.toc",
      "*.acn",
      "*.acr",
      "*.alg",
      "*.glg",
      "*.glo",
      "*.gls",
      "*.fls",
      "*.log",
      "*.fdb_latexmk",
      "*.snm",
      "*.synctex(busy)",
      "*.synctex.gz(busy)",
      "*.nav",
      "*.synctex.gz"
    ],

    "latex-workshop.latex.tools": [
      {
        "name": "latexmk",
        "command": "latexmk",
        "args": [
          "-silent",
          "-outdir=%OUTDIR%",
          "%DOC%"
        ],
        "env": {}
      }
    ],
    "latex-workshop.view.pdf.viewer": "tab"
}

使ってみた感想

とりあえずやりたいことはできましたが、いちいちTexでメモを作成するのは面倒でした。やはり、Markdownで気楽にメモを作成して投稿できた方が楽です。Markdownで記述した数式がGitHub上でTexの様に扱えたら嬉しいな!!それとも僕が知らないだけで普通に扱えるのかな?

おまけ(失敗した方法)

[JupyterLabで数式を書いてGitHubに投稿する]

この方法でもGitHub上で数式が表示されるのですが、数式のレイアウトがローカルの環境と異なって上手く表示できませんでした。

[JupyterLabをhtmlに変換してGitHubに投稿する]

これは自分的にはかなりいい方法だと思って、実際に試してところローカルでhtmlをブラウザで表示したら綺麗に表示できてテンションがあがったのですが、GitHub上でhtmlが表示されないらしく(htmlのソースコードが表示される)失敗しました。

参考

以下のサイトを参考にさせていただきました。