Cloud LaTeX を利用していない,もはや拡張機能をも導入していない人間がREADME を読んでちょっといい感じにまとめてみた記事です. なので,確実性に欠ける記事になっています.注意してください.
Cloud LaTeX をVSCode と連携できる拡張機能を利用してコンパイルを可能にしたい.また,LaTeX Workshop からスニペットやインテリセンスを利用したい.
Cloud LaTeX - cloudlatex | Marktplace ver.1.0.0 (2020/07/20 現在)
LaTeX Workshop - James Yu | Marktplace ver.8.19.2 (2020/07/20 現在)
Cloud LaTeX 側の設定方法の詳細は以下のREADME を読むと分かりやすいだろう.
README に加えて本記事ではLaTeX Workshop の設定に関しても付記しておきたい.
いままでローカルに構築したTeX 環境を利用してタイプセットしていた. これを編集をローカルで,タイプセットをCloud LaTeX 上で行うようにしたい.
- Windows
- VSCode 導入済み
- LaTeX Workshop を導入済み
- Cloud LaTeX のアカウントを取得済み
LaTeX Workshop はVSCode でLaTeX を編集,ローカルでタイプセットする際に利用される拡張機能である.この拡張機能にはスニペット機能などの多くの編集支援機能が満載なので,これを併用していきたい.
本来はローカルに構築されたTeX を実行するために構成されているため,いくつか変更を加えながら使用することにしたい.
本記事では,Cloud LaTeX でタイプセット出来るようにするのみを紹介する.また,ローカルにTeX 環境が整っていてもCloud LaTeX でタイプセットが出来るように設定していきたい.
設定の方針は以下の3点になる.
- 特定のフォルダないのみでしかCloud LaTeX の拡張機能を動作させない
- LaTeX Workshop によるビルドコマンドを利用できないようにする
- LaTeX Workshop によるLaTeX 編集サポートはスニペット,インテリセンス,PDF による閲覧に限る
コマンドパレットから Prefences: Open Settings(JSON) として開くグローバルのsettings.json で設定しない.
これらの設定はワークスペースの設定かフォルダの設定に記述する.
フォルダの設定はPrefences: Open Folder Settings(JSON)
ワークスペースの設定はPrefences: Open Workspace Settings(JSON) から開くことが出来る.
ここで言うワークスペースとはマルチルートワークスペースのことであり,フォルダを開くだけでは単一のフォルダを開くのみに限っているのに対して,マルチルートワークスペースでは複数のフォルダを同時に開くことが出来る.また,.code-workspace ファイルによってこのワークスペースを保存することが出来る.(フォルダのsettings.json は作業ディレクトリの.vscode フォルダに保存される)
詳細は以下の公式ページを参照するか他記事を探してほしい.
.code-workspace ファイルの管理が面倒に感じる場合はそれらを管理する拡張機能もある.以下の記事を参照してほしい.
以下では,フォルダの設定であっても単にワークスペースの設定として紹介してく.
グローバル設定では以下のような設定になっていると思われる.
// global: settings.json
{
"[latex]": {
"editor.wordWrap": "on",
"editor.wordSeparators": "./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}`~?.。,、()「」[]{}《》てにをはがのともへでや",
"editor.suggestSelection": "recentlyUsedByPrefix",
"editor.suggest.snippetsPreventQuickSuggestions": false,
"editor.quickSuggestions": {
"other": true,
"comments": false,
"strings": false
},
"editor.scrollBeyondLastLine": false,
"editor.padding.bottom": 250,
"editor.tabSize": 2,
"editor.insertSpaces": true,
},
// LaTeX Workshop
"latex-workshop.intellisense.package.enabled": true,
"latex-workshop.intellisense.includegraphics.preview.enabled": true,
"latex-workshop.intellisense.includegraphics.preview.pdf.enabled": false,
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.view.pdf.backgroundColor": "#990000",
"latex-workshop.view.pdf.trim": 1,
"latex-workshop.view.pdf.zoom": "page-width",
// Cloud LaTeX Extension for VSCode
"cloudlatex.enabled": false,
"cloudlatex.supressIcon": true,
}
今回,内部ビューワを利用したPDF 表示にしているが,もちろん"external"
に変更して外部ビューワに変更しても問題ない.
ワークスペースの設定は以下のようにする.
"latex-workshop.latex.recipes"
を空白にしておくことで,間違ってもローカルでタイプセットを実行しないようにしている.
また,"cloudlatex.projectId"
は個別にそれぞれのID に変える必要がある.例として任意の数字を入れている.
// Workspace: settings.json
{
"[latex]": {
"editor.formatOnSave": false,
},
// LaTeX Workshop
"latex-workshop.latex.autoBuild.run": "never",
"latex-workshop.latex.outDir": "./.workspace",
"latex-workshop.latex.recipes": [],
// Cloud LaTeX Extension for VSCode
"cloudlatex.enabled": true,
"cloudlatex.supressIcon": false,
"cloudlatex.projectId": 20210101,
"cloudlatex.outDir": "./.workspace",
"cloudlatex.autoCompile": false,
}
自動コンパイルを有効にしたい場合には"cloudlatex.autoCompile": true
とすれば良い.
上の設定では"cloudlatex.autoCompile"
をfalse
としており,自動コンパイルを無効化している.したがって,コンパイルしたい場合にはコマンドを叩く必要がある.
コンパイルのためのキーボードショートカットを作成しておこう.keybindings.json はフォルダやワークスペースでは個別に設定できない仕様になっているため,これはLaTeX Workshop とは異なるキーボードショートカットを作成しておきたい.(もちろん,ローカルにLaTeX 環境を作成していない場合には上書きさせておくと良いだろう)
// keybindings.json
[
{
"key": "ctrl+shift+b",
"command": "cloudlatex.compile",
"when": "editorLangId == latex",
},
]
Keybindings | Description |
---|---|
Ctrl+Shift+B |
Cloud LaTeX でタイプセット |
Ctrl+Alt+V |
タブビューワを開ける |
もしもローカルにLaTeX 環境がない場合 (折りたたみ)
以下のようにしてビルドコマンドのキーボードショートカットを削除しておくと良いだろう.
// keybindings.json
[
{
"key": "ctrl+alt+b",
"command": "-latex-workshop.build"
},
{
"key": "ctrl+shift+b",
"command": "cloudlatex.compile",
"when": "editorLangId == latex",
},
]
ついに拡張機能のバージョンが1.0.0 になった!!!
追記 1
latexmk
が担っているのでどの形式でタイプセットしていても問題ではない(latexmk
をいまだにちゃんと理解してないのでアレ).io
でforward のみ可能になっているようだが,synctex ファイルをダウンロードされていなければ利用出来ない.どうだろう(実際にやってみないと分からない)cf:
https://cloudlatex.io/announce_archive
2021/01/08 追記