こちらのアドベントカレンダーの13日目の記事になります。
この記事は、「Visual Studio Codeで卒論を書けばストレスなく書けるよ!」というのを伝えたい記事です。
快適なところ
-
.tex
ファイル保存時に自動でpdf作成、pdfプレビュー。 - スニペット + IntelliSenseで楽に書ける
- 普段コードを書くように作業できる(
[⌘+C]
1行コピー、[⌘+/]
コメントアウトなどのショートカットがそのまま出来る。) - 画像ファイルをrenameしたい時もVSCode上で完結できる
- そのまま研究室サーバーにアップしたいなどやりたいこと大体プラグインで解決できる
個人的には、普段コードを書くように作業できるのが非常にストレスなくて気に入ってます。
こんな雰囲気です(一応中身サンプルにして解像度落としました)
気合で感じ取ってください。
ぶっちゃけイケてない所
- (Macだと?)エラー文が文字化けするので、記述ミスが見つけづらい。
- こまめにコンパイルしとくと良いです。
- コンパイル方式が色々あることで、違う方式だと先輩の論文が読み込めない。
- pdfでもらいましょう。
VSCode + Tex
環境構築についてはVS CodeでTeXを使う方法 - elechoのぶろぐが非常によくまとまっているので参考にして下さい。
※1 私はTeXLive 2017を使用しました。
※2 現在は、記事にあるLaTeX Language Support
は入れる必要ないです。
拡張機能である「LaTeX Workshop」を入れるだけで、以下が出来るようになり超快適になります。
- 保存時、コンパイル
- 分割画面でpdfプレビュー
- スニペット + IntelliSense
ちなみに、latex
のlanguage id
が使用できるようになるので、個別の設定追加もできます。
タイプセットの設定のptex2pdfについて補足。
ptex2pdf は uplatex, euptex, uptex, platex, eptex, ptex の中から指定したコマンドと dvipdfmx とを連続して実行する Lua スクリプトです.
"latex-workshop.latex.toolchain": [
{
"command": "ptex2pdf",
"args": [
"-l",
"-ot",
"-kanji=utf8 -synctex=1",
"%DOC%"
]
}
]
args | 説明 |
---|---|
-l | platexを使用する |
-ot | Texコンパイラオプションを使用する |
-kanji=utf8 | ファイルの文字コードにutf8指定 |
-synctex=1 | SyncTeXを使うようにする (編集行にあたるpdfの箇所にジャンプできるようになる) |
%DOC% | 出力ファイル名の指定。詳しくはLaTeX-Workshop#faq |
VSCode + スタイルファイルの読み込み
大学、研究室では指定されている論文のスタイルファイルがあると思います。
.sty
のやつですね。他にも.cls
など色々あります。
基本的に、.tex
ファイルと同ディレクトリにあれば読み込んでくれるのですが、Tex側で管理させるようにした方が、作業フォルダを分けた際のストレスがなくなります。
- スタイルファイルの文字コード変更
- Macの場合はスタイルファイルがshiftjisだと読み込めないので、nkfなどで、utf8に変換。
-
/usr/local/texlive/2017/texmf-dist/tex/latex/
配下にコピー
- TeXLive 2017 + Macの場合です。。Windowsだとどうなんでしう。。
sudo mktexlsr
- これをしないと参照できないです。
- 一覧表の更新 (mktexlsr) について
「あらかじめファイルの一覧表を作っておき,ファイルを探すときにはそれを参照する」という仕組みで,この一覧表 (ls-R) を作るコマンドが mktexlsr です。
VSCode + 研究室サーバー
私の研究室では、研究室サーバーへの提出を促されます。
最初はFileZillaというFTPクライアントアプリを使ってアップロードしていたのですが、毎回起動するのも面倒なのでVSCodeからアップロードしてます。
VSCodeにはstfpというありがたいプラグインがあるのでそれを使います。
- 拡張機能sftpをインストール
-
Ctrl+Shift+P
->SFTP: config
コマンド実行
-
.vscode/sftp.json
が作成されます。
-
sftp.json
内に設定を記述
- 各項目はsftpリポジトリのREADME.mdを参照して下さい。
- 下記は私の設定項目だけ抜粋してます。
{
"host": "研究室サーバURL",
"username": "ユーザー名",
"password": "パスワード",
"protocol": "sftp",
"remotePath": "アップロードパス",
"ignore": [
"**/.vscode/**",
"**/.git/**",
"**/.DS_Store",
"*.DS_Store"
]
}
あとは、アップロードしたいときにSFTP: Upload
コマンドを実行すればアップロード完了です。とても快適。
(え、Gitで管理してるだって!そんなあなたに つ CircleCIで卒論リポジトリを研究室サーバに自動アップロードする)
VSCode + 卒論 どうですか
卒論を初めた5月頃からこのVSCode環境でやっていますが、問題なく出来てます。
友達にまだWordでやってるひとや、TexStudio動かなくなった人が居たらおすすめしてみてください。