Skip to content

Instantly share code, notes, and snippets.

@ringo156
Last active December 1, 2019 02:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ringo156/3ba8768327a7280457d01043b0292c73 to your computer and use it in GitHub Desktop.
Save ringo156/3ba8768327a7280457d01043b0292c73 to your computer and use it in GitHub Desktop.
LaTeXなんもわからん

この記事は高知工科大学 Advent Calendar 2019の1日目の記事です.

卒論ビルドサーバー作ってみた

今年もこの時期がやってまいりました.私は現在進行系で修論を完成させるべく毎日大学に閉じこもってます.
この記事では修論を書くためにラズパイにlatexのビルド環境を用意したことについて書きます.
学部の卒論はWordで書いたのですが,修士になってから論文はoverleafを使ってlatexで書いていました.
ただ修論だとページ数増えるし,overleafのサーバーが落ちないとも限りません.そこで手元にlatexの環境を用意することにしました.しかしながら,windowsにlatexをインストールするのは抵抗があったため研究室に転がしてるラズパイにlatexmkとsambaをインストールして,修論ビルドサーバーとしました.

インストール

$ sudo apt-get install texlive-lang-cjk xdvik-ja latexmk
sambaはググっていい感じにインストールしてほしい

実行手順

ラズパイ側

texファイルをpdfにするには

  1. texファイルをdviファイルに変換
  2. dviファイルからpdfを生成

と手順があるのですがlatexmkなら1コマンドでpdfが生成できます.
latexmk -pdfdvi hoge.texでhoge.texをdvi経由でpdfに変換します.
また,latexmk -pvc hoge.texでhoge.texを監視して,更新されたら自動的にpdfを生成します.
そこで今回は.nohup latexmk -pvc hoge.tex & とすることでバックグラウンドでコマンドを実行します.
あとは共有フォルダに編集したいtexファイルを置いてwindowsから編集したら自動的にpdfファイルが生成されます.

windows側

エディターとしてVScodeを,pdfビューワとしてSumatraPDFをインストール
VScodeには拡張機能としてLaTeX Workshopを入れる. Ctrl + ,で設定を開き左上のOpen Setting (JSON)からVScode用のJSON設定ファイルを開いて以下を入力

 "latex-workshop.view.pdf.viewer": "external",
    "latex-workshop.view.pdf.external.viewer.command": "C:/Program Files/SumatraPDF/SumatraPDF.exe",
    "latex-workshop.view.pdf.external.viewer.args": [
        "-reuse-instance",
        "%PDF%"
    ],
    "latex-workshop.view.pdf.external.synctex.command": "C:/Program Files/SumatraPDF/SumatraPDF.exe",
    "latex-workshop.view.pdf.external.synctex.args": [
        "-reuse-instance",
        "-forward-search",
        "%LINE%",
        "%PDF%",
        "%TEX%"
    ]

SumatraPDFのオプション -> 設定(S) -> オプション(O)... の「逆順検索コマンドラインの設定」に以下の設定を入力
"C:\Program Files\Microsoft VS Code\bin\code.cmd" -g "%f:%l"

これでビューワーをSumatraPDFに設定して,相互にハイライトが入るようになる.(と言われているがハイライトのところがうまく行ってない)

使ってみた感想

2019kutadventcalendar 書いてるときはこんな感じです.

よかったこと

  • overleafみたいに毎回画像ファイル等をアップロードしなくて良くなった
  • VScodeで書ける
  • VPNつなぐことでどこからでも論文書ける
  • Wordを捨てることができる

実際にVScodeで書くことで普段プログラム書くノリで書けるのは嬉しいところ

微妙だったこと

  • pdfビューワとしてSumatraを使っているがリロードがちょっとラグがある
  • エラーが起きたときがちょっと面倒

おわりに

修論を快適に書くためにラズパイにlatexビルドサーバーを作りました.
結局の所環境ではなく書く内容なんですけどね...
VPNのこととかも記事にできたらしたいです.

おまけ

ラズパイだけに原稿残しておくのは不安なので毎晩自動的に研究室のNASにアップロードするスクリプトを走らせてます.
研究室のNASでも不安なら何かしらクラウドサービスと連携させたり複数バックアップするようにしておくのもアリだと思います.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment