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
Help us understand the problem. What is going on with this article?

MacでTex環境を構築【その2】

More than 1 year has passed since last update.

Visual Studio Code でTeXファイルを編集する環境を整える.

拡張機能のダウンロード

拡張機能の LaTeX Workshop をダウンロード.
この拡張機能はTeXを書くときに補完や自動コンパイルを行ってくれる.
また,作成したPDFを確認しながら編集できる.

LaTeX Workshop の設定

setting.json に以下の設定を追記.

    // latex settings
    "latex-workshop.latex.tools": [
        {
            "command": "platex",
            "args": [
                "%DOCFILE%.tex"
            ],
            "name": "Step 1: platex"
        },
        {
            "command": "dvipdfmx",
            "args": [
                "%DOCFILE%.dvi"
            ],
            "name": "Step 2: dvipdfmx"
        },
        {
            "command": "rm",
            "args": [
                "%DOCFILE%.dvi",
                "%DOCFILE%.aux",
                "%DOCFILE%.log"
            ],
            "name": "Step 3: rm"
        }
    ],
    "latex-workshop.latex.recipes": [
        {
            "name": "toolchain",
            "tools": [
                "Step 1: platex",
                "Step 1: platex",
                "Step 2: dvipdfmx",
                "Step 3: rm"
            ]
        }
    ],
    "latex-workshop.view.pdf.viewer": "tab",
    // 制御文字を表示する
    "editor.renderControlCharacters": true,
    "liveServer.settings.donotShowInfoMsg": true,
    "liveServer.settings.donotVerifyTags": true,
    "latex-workshop.message.update.show": false,

"latex-workshop.latex.tools" に実行するコマンドを書き,
"latex-workshop.latex.recipes" に実行するコマンドの順番を書く.

"latex-workshop.latex.tools"はjson配列で与えられ,値は

{
    "command": "",
    "args": [],
    "name": ""
}

で与えられる.

キー 説明
command 実行するコマンド
args コマンドに渡す引数
name この操作の名前

また, args にはプレースホルダーを渡すことができ,以下のようなものがある.

プレースホルダー 説明
%DOC% .tex 拡張子を含まないファイル名とパス
%DOCFILE% .tex 拡張子を含まないファイル名
%DIR% ファイルのパス
%TMPDIR% 補助ファイルを格納するための一時フォルダ。終了時に自動的に削除されます。

"latex-workshop.latex.recipes" には "latex-workshop.latex.tools" で設定した操作の実行順序を記述する.
操作の名前(nameで設定したもの)を実行したい順番に "tools" に記述する.

上記の設定を具体的に説明する.

    "latex-workshop.latex.tools": [
        {
            "command": "platex",      // platex を実行する
            "args": [                 // platex の引数にvscodeで開いているファイルを渡す
                "%DOC%"
            ],
            "name": "Step 1: platex"  // この操作の名前を "Step 1: platex" とする
        },

        (省略)

    ],
    "latex-workshop.latex.recipes": [
        {
            "name": "toolchain",
            "tools": [                // "Step 1: platex", "Step 1: platex", "Step 2: dvipdfmx", "Step 3: rm" の順番に実行
                "Step 1: platex",     // platex で tex ファイルをコンパイル
                "Step 1: platex",     // \ref{}で番号が正しく反映されないことがあるので二回する
                "Step 2: dvipdfmx",   // platex で作成された dvi ファイルを pdf に変換
                "Step 3: rm"          // コンパイル時にできた不要なファイルを削除
            ]
        }
    ],

    (省略)

設定は各々書き換えてください.

mizuhof
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