初めましての方は初めまして.そうでない方はいつもありがとうございます.
私事ではありますが,卒論提出が近づいてきており,そろそろ書き始めなければ間に合わない時期になってきました.今回は,それに関連した記事になっています.
さて,私の所属する研究室では,$\LaTeX$での執筆が必須条件になっており,また,Overleafでの執筆が推奨されています.
ところが,Overleafの無料版を利用していると以下の点が気になりました.(有料版を利用すれば問題ないのは百も承知なのですが,何ぶん苦学生なので,ご容赦いただければ・・・・・・)
- 連続して長時間の編集をしているとコンパイルに制限がかかる(最近になって制限が厳しくなったとか)
- コンパイルが遅い(変更を確認するのに時間がかかる)
- コンパイル実行時にOverleaf以外の回線が途切れる(私の環境だけでしょうか?)
また,可能なら以下の機能も欲しい……
- gitでの管理(今回は見送っています)
- 執筆のサポート
要望が多いのは理解していますが,自分でどうにかできることならやっておきたい!ということで,こうした要望を満たすことができるような環境が無いかを模索してみました.
本記事の内容は,とりあえず書ける環境を構築するという目的で,場当たり的に色々なものを組み合わせたものなので,到底,動作を保証できるものではありません.自分の環境では動作しましたが,同様の手順を実行される場合でもエラーが発生することが予想されます.
項目 | 説明 |
---|---|
OS | Ubuntu 22.04 LTS (WSL) |
CPU | AMD Ryzen 5 5600X |
メモリ | 16GB |
エディタ | VSCode |
環境構築
ローカル環境を汚したくなかったので,今回,Dockerを利用しました.コードは以下に記載しておきます.(色々と試していた関係でDocker Composeを利用していますが,それ程複雑でないのでDockerでも十分だと思います.)
version: '3'
services:
editor:
image: pandoc/latex:latest
container_name: editor
tty: true
拡張機能(ローカル)
ローカル側でインストールする拡張機能は以下の通りです.
- Docker
ms-azuretools.vscode-docker
- [Option] GitHub Copilot
github.copilot
- 認証も済ませるようにしておいて下さい
前章で掲載しているコンテナが起動できたらDockerの拡張機能で追加されている「実行中のコンテナーにアタッチ」をクリックして下さい.
Github CopilotはGithubの有料版を利用している方向けです.Github Copilotに執筆作業のサポートをしてもらおうという算段です.
ちなみに,学生は無料で利用できます.(2024年1月現在)
拡張機能(コンテナ)
コンテナ内でインストールする拡張機能は以下の通りです.
- Overleaf Workshop
- iamhyc.overleaf-workshop
- LaTeX Workshop
- james-yu.latex-workshop
- [Option] Github Copilot
- github.copilot
Overleafの認証
Overleaf Workshopを利用するためには,Cookiesでログインしなければなりません.これについてはGithubの方でスクショ付きで丁寧に解説されているので,そちらを参考にされて下さい.(英語ですが,操作自体は非常に簡単なので,苦手な方でも大丈夫だと思います!)
いざ執筆
ここまで来れば後は文章を書いていくだけです.お疲れ様でした.
基本的な使い方や利用可能なコマンドはGithubの方で解説されていますが,コマンドについてはチートシート的に表にまとめておきます.
コマンド | 説明 |
---|---|
ctrl + Alt + B
|
コンパイル |
ctrl + Alt + V
|
プレビュー |
ctrl + .
|
スペルチェック |
Shift + Alt + F
|
文章フォーマット |
補足事項
実行時間について.
卒論の内容をそのまま掲載する訳にもいかないので,実測時間のみになりますが,約30ページほどになるプロジェクトをコンパイルしたところ,Overleafで約十数秒,私の環境では約6, 7秒程度と,約半分の時間となりました.(いずれも5回コンパイルしたときの平均時間)
もう少し長い文書で試してみないと何とも言えないかもしれませんが,個人的には急いで執筆する中でこの差は大きいのかなと感じました.
あと,細かいことですが,オートコンパイル機能を使っていてもエラーが発生しない(少なくとも現時点では)のが,個人的には嬉しかったです.Overleafでオートコンパイルを有効にした状態で執筆するとよくエラーを吐くため無効にしており,残念に思っていたので.
最後に,Github Copilotですが,個人的にはあまり役に立っていないような気がします.(結構,間違える……)
そのため,本記事ではあまり触れていません.(あえて,ローカルに環境を構築するメリットの1つにはなり得るかなと思って入れましたが,姑息だったかもしれません.笑)