Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
7
Help us understand the problem. What is going on with this article?
@2019Shun

【VScode】TeX LiveのインストールからAuto Buildの設定まで

More than 1 year has passed since last update.

概要

VScodeでTex LiveのインストールからAuto Build(セーブ時に自動でコンパイル)の設定までを行います.
OSはWindowsでPDFの作成にはptex2pdflatexmkのそれぞれを使用する方法を記述するので好きな方を選んでください.

LaTeXのコンパイルコマンドは日本語に対応したplatexです.

あとLaTeXファイルの文字コードはUTF-8を想定しています.

TeX Liveのインストール

こちらのページを参照.
今回はネットワークインストーラを使用します.

以下のページにアクセスしてinstall-tl-windows.exeをダウンロードします.
Installing TeX Live over the Internet
2020-02-14_17h50_19.png

実行ファイルをクリックしてインストーラが起動します.
かなり時間がかかるので気長に待ちましょう.自分の環境では1時間ほどかかりました.

2020/04/11更新

TeX Live 2020がインストールできるようになっていました.
方法は上記のやり方でいけるようです.

2020-04-11_14h03_17.png

install-tl-windows.exeを実行するとこのようなウィンドウが出てくるのでインストールします.
TeXworksは使わないのでチェックを外しても大丈夫です.

動作確認

Windows PowerShellを開いてplatexなどのコマンドを叩いてみて動作するか確認しましょう.
コマンドが見つからない等エラーが出たらPCの再起動を行うと環境変数が通って動作すると思います.

VScode拡張(LaTeX Workshop)のインストール

LaTeXに関する様々な機能を提供する(LaTeX Workshop)をインストールします.

LaTeX Workshop(このURLからインストールできます)
2020-02-14_17h58_18.png

settings.jsonの設定

VScodeの作業ディレクトリに.vscode/settings.jsonに以下の内容を記述します.
このファイルがない場合は新しく作成してください.おおもとのsettings.jsonを書き換えることでいちいち作業ディレクトリに.vscode/settings.jsonを作成しなくても良くなります(好きな方で).

settings.json
{
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-f",
                "-c",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "ptex2pdf",
            "command": "ptex2pdf",
            "args": [
                "-l",
                "%DOC%"
            ],
            "env": {}
        }
    ],
    "latex-workshop.latex.recipes": [
        {
            "name": "latexmk",
            "tools": [
                "latexmk"
            ]
        },
        {
            "name": "ptex2pdf",
            "tools": [
                "ptex2pdf"
            ]
        },
    ]
}

latex-workshop.latex.toolsが実行するコマンドの設定,latex-workshop.latex.recipesはどのツールを使用するかの設定を行います.
デフォルトではlatex-workshop.latex.recipesの一番上のレシピが実行されます.例えばptex2pdfを使用したい場合は,次のように直してください.

settings.json
"latex-workshop.latex.recipes": [
    {
        "name": "ptex2pdf",
        "tools": [
            "ptex2pdf"
        ]
    },        
    {
        "name": "latexmk",
        "tools": [
            "latexmk"
        ]
    }
]

latexmkを使用する場合

latexmkを使用する場合,作業ディレクトリに.latexmkrcというファイル(windowsの場合は先頭.が不要)を作成する必要があります.
以下の内容でファイルを作成してください(latexmkrcについて,こちらのサイトを参考にしました).

latexmkrc
#!/usr/bin/perl
$latex         = 'platex %O -src-specials -shell-escape -interaction=nonstopmode -synctex=1 -kanji=utf8 %S';
$bibtex        = 'pbibtex %O %B -kanji=utf8';
$dvipdf        = 'dvipdfmx %O -o %D %S';
$pdf_mode      = 3;

おわりに

VScodeにLaTeXの環境を整えました.
個人的にptex2pdfの方が手軽で好きです.latexmkの方は細かい設定(2回コンパイルなど)ができるので自分好みにカスタマイズするのもいいと思います.
最後に,2月の下旬になりましたが卒論書き終わっていません.

2020/03/11更新

卒論提出しました.

付録

bibtexの追加などのアップデートも行い,自分的に安定した設定を載せます.

settings.json
{
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-f",
                "-c",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "ptex2pdf",
            "command": "ptex2pdf",
            "args": [
                "-interaction=nonstopmode",
                "-l",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "platex",
            "command": "platex",
            "args": [
                "-interaction=nonstopmode",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "pbibtex",
            "command": "pbibtex",
            "args": [
                "-kanji=utf8",
                "%DOCFILE%"
            ],
            "env": {}
        }
    ],
    "latex-workshop.latex.recipes": [
        {
            "name": "ptex2pdf",
            "tools": [
                "ptex2pdf",
                "ptex2pdf"
            ]
        },
        {
            "name": "platex & pbibtex",
            "tools": [
                "platex",
                "pbibtex",
                "platex",
                "ptex2pdf"
            ]
        },
        {
            "name": "latexmk",
            "tools": [
                "latexmk"
            ]
        },
    ]
}
7
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2019Shun

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
7
Help us understand the problem. What is going on with this article?