HarukaのMEMO

Linuxやプログラミング関係の備忘録

vscodeでlatex環境を整える際の謎の不具合

vscodelatex

vscodetexファイルをコンパイルする方法は拡張帰納からLaTeX Workshopをインストールします。
VS CodeでTeXを使う方法 - elechoのぶろぐで詳しく書いてくれていますので、大丈夫と思います。
ただ、この通りにやっても、以下の2点だけ変更しなければならない点がありましたので残しておきます。

  1. User Settingsファイルの変数名が変更されている
  2. コマンド引数の変数の書き方

""

まず、

User Settingsファイルの変数名が変更されている

これは、いくつか記事が他にも出てくると思いますが、"latex-workshop.latex.toolchain"という変数はなくなっています。

"latex-workshop.latex.tools""latex-workshop.latex.recipes"という2つを組み合わせて使います。


"latex-workshop.latex.tools"には、自分の定義するコマンドとそれを識別する名前を定義します。
"latex-workshop.latex.recipes"は、デフォルトで用いる一連の動作を記します。ここで、上述した識別する名前が用いられます。

書き方は以下のようになります。

{
    "latex-workshop.latex.tools": [
        {
            "name": "ptex2pdf",
            "command": "ptex2pdf",
            "args": [
                "-l",
                "-ot",
                "-kanji=utf8",
                "-synctex=1",
                "%DOCFILE%.tex"
            ]
        },
    ],

    "latex-workshop.latex.recipes": [
        {
            "name": "toolchain",
            "tools": [
                "ptex2pdf"
            ]
        }
    ]
}


次に、

コマンド引数の変数の書き方

これは、主に%DOC%の書き方です。
多くのサイトでは以下のように書かれています。

{
    "latex-workshop.latex.tools": [
        {
            "name": "ptex2pdf",
            "command": "ptex2pdf",
            "args": [
                "-l",
                "-ot",
                "-kanji=utf8",
                "-synctex=1",
                "%DOC%"
            ]
        }
    ]
}

ただ、この書き方だと2018/07/20現在ではBuild状態が無限に続いてしまいます。
私の環境だけかもしれませんが…。
私の環境は、

  • OS: manjaro Linux
  • vscode ver. 1.25.1
  • AUR経由でvisual-studio-code-binをインストール

になります。

そして対策は、この%DOC%%DOCFILE%.texに変更することです。
これで私の環境ではうまくいくようになりました。

ファイル全体

User Settingsファイルの全体はこのようになっています。
一番外側の{ }は元からあるので、その中に追記していきます。
"latex-workshop.view.pdf.viewer": "tab"は、「Ctrl + Alt + v」でPDF ビューワーが開けますが、それを新規タブで開くための設定です。
"browser"とするとchromefirefox等の自分がデフォルトに設定しているブラウザで開かれます。

{
    "latex-workshop.latex.tools": [
        {
            "name": "ptex2pdf",
            "command": "ptex2pdf",
            "args": [
                "-l",
                "-ot",
                "-kanji=utf8",
                "-synctex=1",
                "%DOCFILE%.tex"
            ]
        },
    ],
    "latex-workshop.latex.recipes": [
        {
            "name": "toolchain",
            "tools": [
                "ptex2pdf"
            ]
        }
    ]
    "latex-workshop.view.pdf.viewer": "tab"
}