VS CodeでLaTeXをする話

VS CodeでLaTeXを書く環境を整える

BEAN

LaTeXでやることが必要になってきた

3つぐらい前の記事で大学のレポートをMARKDOWNで爆速で書く話を書いて Markdownでしばらくレポートを書いていたのですが, 研究室で必要なちゃんとした(?)レイアウトの資料作りとなると ちょっと力不足…
ということとやっぱり色々パッケージ使うとなると結局LaTeX書くことになる.
ということでLaTeXをやることに.

自分はmacでやるのでググるとTeXShopがよくでてくるのですが, TeXShopちょっと好きじゃない.
補完が効かないし(方法あるかも?)エディタのデザインが微妙…
あと使用するエディタはある程度統一させたいのでVS Code でLaTeXを書こうということに.

今回の自分の環境

  • 2018年10月10日
  • MacBook Pro (Retina, 13-inch, Early 2015): macOS High Sierra 10.13.6
  • TeXShop 4.10が入っていてptex2pdfでタイプセットできる
  • VS Code 1.28.0

環境構築

拡張機能インストール

VS Codeの拡張機能LaTeX Workshopをインストールする.

これはやるだけ

setting.jsonを編集する

最近VS Codeの設定がGUIになったのでsetting.jsonの開き方:
⌘+,で設定画面を開いて右側の3点をクリックするとsetting.jsonを開くがでてくるのでクリック

ここで以下を追記

    "latex-workshop.chktex.enabled": true,
    "latex-workshop.latex.recipes": [
        {
        "name": "Report",
        "tools": ["ptex2pdf"],
        }
    ],
    "latex-workshop.latex.tools": [
        {   
            "name": "ptex2pdf",
            "command": "ptex2pdf",
            "args": [
                "-l",
                "-ot",
                "-kanji=utf8 -synctex=1 -file-line-error",
                "%DOC%"
            ]
        }
    ],
    "latex-workshop.view.pdf.viewer": "tab"

ここの設定は拡張機能のバージョンで変わったりするので拡張機能のページとかで確認した方がいいかもです.

latex-workshop.latex.recipesの設定項目

ここはレシピの定義をしてます. nameはレシピ名(なんでもいい)
toolsはレシピ名を指定した時に実行するtool名で"latex-workshop.latex.tools"のnameを指定することにより"latex-workshop.latex.tools"で指定したコマンドを実行するようです.

latex-workshop.latex.toolsの設定項目

nameはレシピのtoolsで指定される名前.
commandはLaTeXコンパイルのコマンド.
argsはcommmandの引数.

commandとargsに関してはとりあえずTeXShopに設定されているものを持って来ました.

そのほかの設定

"latex-workshop.chktex.enabled"はtexの構文をチェックする機能の有効化
"latex-workshop.view.pdf.viewer"は後述するPDF表示を何で表示させるかの設定.
今回はVSCodeのタブで表示するようにしていますが, 他にもブラウザ経由や別のPDF Viewerアプリケーションなどを設定できます.

ここまででとりあえず環境構築はおわりです.

コンパイルする

コンパイル方法は簡単で.texファイルを保存すると勝手にコンパイルしてくれます.
それ以外では⌘+Shift+Pで"Build"と検索するとLaTeX Workshop: Build LaTeX projectがでてくるのでこれを選択するとコンパイルされます.
またLaTeX Workshop: Build with recipeを選択すると指定したレシピでコンパイルすることができます.

細々したもの

VS Code全般に言えるのですが, macでVS Code使っていると制御文字が挿入されてしまうバグがあったりするので, Visual Studio Code で制御文字が混ざる問題 などを参考にこの問題の回避をした方がいいです.
.texファイル内に制御文字があるとコンパイルでエラーを吐いてPDFに出力されません.

[ファイル名].synctex(busy)なるファイルが出現した時はコンパイルに失敗しているので⌘+Shift+UでLaTeX Compilerの出力を見るとエラーがわかります.

まとめ

LaTeX Workshop拡張機能は.texファイルを保存すると勝手にコンパイルしてくれるので便利です.
またPDFリーダも内蔵されているので左にソース, 右にPDFみたいなこともできます.
そしてこのPDFリーダはコンパイルすると自動で再読み込みし, 常に最新のコンパイル後の状態のものを表示してくれます. 生成物のPDF表示は⌘+Shift+Pで"latex pdf"やると見つけれます.

使い慣れているVS CodeでLaTeXできるのはいいところ.
あとちゃんと補完が効いてくれますしね.

comments powered by Disqus