こんにちは, Shinoryoです.
今回は, Visual Studio Code (VS Code)を利用したLaTeXのでの文書作成の環境構築を行ったので, それについて書き留めておこうと思います.
とはいえ, VS Codeを利用したLaTeXのでの文書作成の環境構築に関しての記事はありふれていますので(さすがVS Code), それを実行するにあたって困りそうなことを中心に補足していければと思います.
参考になるかもしれないサイト
今回の環境構築にあたっては, 以下のサイトを参考にしました. 基本的な環境構築は, 例えば以下に従えば問題なくできるかと思います.
- 剱持智哉様による「uplatexでSyncTeXするための最低限のVS Code設定」
uplatexでSyncTeXするための最低限のVS Code設定 - Qiita
本稿の目標 VS CodeでLaTeXを使う場合, 拡張機能 LaTeX Workshop を用いるのがスタンダードになっていますが, (u)platex を使おうと思うと少し設定が大変です. そのため, 解説ページがいくつか...
ここに書かれていない, TeX LiveやVS Codeのインストール等も, 別途調べるなどすればそこまで難しくなくできるかと思います.
日本語ディレクトリが原因のバグ?
とりあえず, 以下のような簡単なTeXファイルをWindowsで実行してみました.
すると, 以下のようなエラーが出てしまいました. 明らかに, texファイルの方に原因はありませんよね.
このエラーの原因は, どうやらtexファイルの存在するディレクトリ名に日本語が含まれてしまっていることのようです. 実際, 日本語名が含まれていないディレクトリにtexファイルを移動させて再度コンパイルすると, このエラーは生じません.
このエラーを解消するカギは, どうやら設定「latex-workshop.latex.tools
」にあるようです. 設定の開き方は以下のように普段通りで……
- VS Codeの設定画面を開く
- テキストボックスに「
latex-workshop.latex.tools
」と入力し, 出てくる項目の「settings.json で編集」をクリック
その「settings.json」の中で, 「%DOC%
」となっている部分があるかと思います. これをどうやら「%DOCFILE%.tex
」に直す必要があるようです*1. これだと, 日本語名のディレクトリを正しく認識してくれます.
VS Code内でのビューを左側に表示するようにしたい
Ctrl + Alt + Vを押すことで, PDFビューを確認することができます. これに関する基本的な挙動は, 設定「latex-workshop.view.pdf.viewer
」で設定することができます.
browser
:既定のブラウザーでPDFビューを表示します.tab
:VS Code内のタブでPDFビューを表示します.external
:外部ソフトウェア(Sumatra PDFなど)でPDFビューを表示します. *2
tab
を用いた場合, 既定の設定ではPDFビューは右側に表示されます.
中には, この既定の表示場所を変更したいという人もいるでしょう. 私もその一人です.
その設定場所は, 「latex-workshop.view.pdf.tab.editorGroup
」になります. 上下左右4方向に分割して表示する方法と, texファイルと同じ場所に表示する方法を選ぶことができます.
例えば, PDFビューを左側に表示することができます.
スニペットの設定
Atomの場合と同様*3, スニペットを設定してTeX文書作成を円滑にすることができます.
- 「ファイル」→「ユーザー設定」→「ユーザースニペットの構成」選択
- 「latex」を選択
latex.json
ファイルが表示される
デフォルトだと, latex.json
にはコメント以外は記載されていないはずです. ここにいろいろと書き込めば, 入力補完してくれるというわけです.
すでに別の環境構築を行っていて, そこでは.cson
で管理されているという例などもあることでしょう(Atomがその一例です). そのような場合には, Web上の変換ツール(例えば, https://www.convertsimple.com/convert-cson-to-json/)を使うと, スニペット作成時間を大幅に短縮することができるでしょう.
起動時に前回開いたウィンドウが開かないようにしたい
既定の状態だと, 起動時に前回開いたウィンドウがそのまま開くようになっているはずです. これを便利に思う人も多くいるかと思いますが, 私にとってこれはちょっと不自然な感じがしたため, この設定を変更することにしました.
その設定場所は, 「window.restoreWindows
」になります*4. none
を選択すれば, 起動時に前回開いたウィンドウが開かないようになります.
Syntax Highlightの変更
既定の状態だと, Syntax Highlightが非常にチカチカして大変でしたので, それを変更しました. 今回は, 以下のWebページの設定をそのままお借りすることにしたので, それを紹介するにとどめておきます.
- Yarakashi-Kikohshi様による「Customize Syntax Highlight for LaTeX Workshop」
LaTeX Workshop のSyntax highlight を変更する
LaTeX Workshop のSyntax highlight を変更する. GitHub Gist: instantly share code, notes, and snippets.
終わりに
今回の記事は以上になります. 今後も気になる点があったら, 本ページに追記していこうと思います.
脚注
*1:これは, 以下のWebページでも紹介されていました. 以下の方の環境だとLinuxだそうで, これはWindows環境とはもちろん異なりますが, 同様の方法で解決できました.
- haruka様による「vscodeでlatex環境を整える際の謎の不具合」
vscodeでlatex環境を整える際の謎の不具合
vscodeでlatex vscodeでtexファイルをコンパイルする方法は拡張帰納からLaTeX Workshopをインストールします. VS CodeでTeXを使う方法 - elechoのぶろぐで詳しく書いてくれていますので, 大丈夫と思います. ただ, この通りにやっても, 以下の2点だけ変更しなければならない点がありましたので残しておきます. User Settingsファイルの変数名が変更されている コマンド引数の変数の書き方 まず, User Settingsファイルの変数名が変更されている これは, いくつか記事が他にも出てくると思いますが, "latex-workshop.latex.t…
*2:「external
」の場合の設定方法は, 例えば以下のWebページの「Sumatra PDFでpdfファイルを開く場合」のセクションを参照してください. ちなみに, VS Codeの場合は, Sumatra PDFを使用するだけでは日本語問題を回避することはできないようです.
- 剱持智哉様による「uplatexでSyncTeXするための最低限のVS Code設定」
uplatexでSyncTeXするための最低限のVS Code設定 - Qiita
本稿の目標 VS CodeでLaTeXを使う場合, 拡張機能 LaTeX Workshop を用いるのがスタンダードになっていますが, (u)platex を使おうと思うと少し設定が大変です. そのため, 解説ページがいくつか...
*3:私は過去に, 「Atom」というエディタを活用したLaTeXでの文書作成の環境構築に関して記事を書いています.
【Windows】AtomとSumatraPDFを利用したLaTeXでの文書作成の環境構築
こんにちは, Shinoryoです. 以前, 私はTeXworksを用いてLaTeXでの文書作成を行っていました. 今回は, LaTeXのでの文書作成の環境を変えたので, それについて書き留めておこうと思います. スポンサーリンク 現在の環境 現在の私...
しかし, 2022年6月8日, Atomが開発停止になる予定だということが発表され, VS Codeへの移行を考えたという次第でした.
Sunsetting Atom | The GitHub Blog
We are archiving Atom and all projects under the Atom organization for an official sunset on December 15, 2022.
GitHubがテキストエディタ「Atom」の開発停止を宣言, 2022年12月15日にリポジトリがアーカイブ予定|au Webポータル
au Webポータル
*4:例えば, 以下のWebページにそのような記述がありましたので, 参考までに掲載しておきます.
- 「VSCode/起動/起動時に前回開いたウィンドウを開かせない - yanor.net/wiki」
yanor.net/wiki
0 件のコメント:
コメントを投稿 (Please feel free to ask me about your questions! You can use Japanese or English in the comments.)