kent0311p
@kent0311p

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

vscodeでのlatex環境構築について

解決したいこと

vscodeでのlatex環境の構築で詰まっています。https://qiita.com/passive-radio/items/623c9a35e86b6666b89e#5-%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E6%9B%B4%E6%96%B0%E4%B8%AD 
こちらの記事を参考に環境を構築している途中です。ltjsarticleでのコンパイルとpdf生成はうまくいったのですが,jsarticleだとうまくいきません。settingに問題があるのかと思うのですがよくわかりません。ご教授いただけると幸いです。

発生している問題・エラー

//実行時に右下に出てきました。
Recipe terminated with error.

//問題に出てきたメッセージです。
The font size command \normalsize is not defined:
Undefined control sequence.
The font size command \normalsize is not defined:
This file needs format `pLaTeX2e'

該当するソースコード

\\setting.json
{
    "workbench.colorTheme": "Kimbie Dark",
    "terminal.integrated.commandsToSkipShell": [
        "language-julia.interrupt"
    ],
    "julia.symbolCacheDownload": true,
    "julia.enableTelemetry": true,
    "julia.execution.codeInREPL": true,
    "julia.executablePath": "C:\\Users\\kentimai\\AppData\\Local\\Programs\\Julia-1.7.3\\bin\\julia.exe",
    "jupyter.experiments.opuOutFrom": [
        "NativeNotebookEditor"
    ],
    // 日本語文書で単語移動を使うため、助詞や読点、括弧を区切り文字として指定する
    "editor.wordSeparators": "./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}`~? 、。「」【】『』()!?てにをはがのともへでや",

    // 設定: LaTeX Workshop

    // LaTeX Workshop ではビルド設定を「Tool」と「Recipe」という2つで考える
    //   Tool: 実行される1つのコマンド。コマンド (command) と引数 (args) で構成される
    //   Recipe: Tool の組み合わわせを定義する。Tool の組み合わせ (tools) で構成される。
    //           tools の中で利用される Tool は "latex-workshop.latex.tools" で定義されている必要がある。
    
    // latex-workshop.latex.tools: Tool の定義
    
    "latex-workshop.latex.tools": [



        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-silent",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "lualatexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-lualatex",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "xelatexmk",
            "command": "latexmk",
            "args": [
                "-f",
                "-gg",
                "-pv",
                "-xelatex",
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-xelatex",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "latexmk_rconly",
            "command": "latexmk",
            "args": [
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
            ],
            "env": {}
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ],
            "env": {}
        },
        {
            "name": "rnw2tex",
            "command": "Rscript",
            "args": [
                "-e",
                "knitr::opts_knit$set(concordance = TRUE); knitr::knit('%DOCFILE_EXT%')"
            ],
            "env": {}
        },
        {
            "name": "jnw2tex",
            "command": "julia",
            "args": [
                "-e",
                "using Weave; weave(\"%DOC_EXT%\", doctype=\"tex\")"
            ],
            "env": {}
        },
        {
            "name": "jnw2texmintex",
            "command": "julia",
            "args": [
                "-e",
                "using Weave; weave(\"%DOC_EXT%\", doctype=\"texminted\")"
            ],
            "env": {}
        },
        {
            "name": "tectonic",
            "command": "tectonic",
            "args": [
                "--synctex",
                "--keep-logs",
                "%DOC%.tex"
            ],
            "env": {}
        },
        {
            "name": "ptex2pdf",
            "command": "ptex2pdf",
            "args": [
             "-u",
             "-l",
             "-ot",
             "-kanji=utf8 -synctex=1 -interaction=nonstopmode -file-line-error",
             "%DOC%"
            ],
        }
    ],
    "latex-workshop.latex.recipes": [

        {
            "name": "latexmk 🔃",
            "tools": [
                "latexmk"
            ]
        },
        {
            "name": "latexmk (latexmkrc)",
            "tools": [
                "latexmk_rconly"
            ]
        },
        {
            "name": "latexmk (lualatex)",
            "tools": [
                "lualatexmk"
            ]
        },
        {
            "name": "latexmk (xelatex)",
            "tools": [
                "xelatexmk"
            ]
        },
        {
            "name": "pdflatex ➞ bibtex ➞ pdflatex × 2",
            "tools": [
                "pdflatex",
                "bibtex",
                "pdflatex",
                "pdflatex"
            ]
        },
        {
	        "name": "ptex2pdf",
	        "tools": [
	        "ptex2pdf",
	        ]
        },
        {
            "name": "Compile Rnw files",
            "tools": [
                "rnw2tex",
                "latexmk"
            ]
        },
        {
            "name": "Compile Jnw files",
            "tools": [
                "jnw2tex",
                "latexmk"
            ]
        },
        {
            "name": "tectonic",
            "tools": [
                "tectonic"
            ]
        }
    ],
     // latex-workshop.latex.autoClean.run: ビルド失敗時に一時ファイルのクリーンアップを行うかどうか
    // 上記説明にもあったように、ビルド失敗時に生成された一時ファイルが悪影響を及ぼす事があるため、自動で
    // クリーンアップがかかるようにしておく。

    "latex-workshop.latex.autoClean.run": "onBuilt",

    // latex-workshop.view.pdf.viewer: PDF ビューアの開き方
    // VSCode 自体には PDF ファイルを閲覧する機能が備わっていないが、
    // LaTeX Workshop にはその機能が備わっている。
    // "tab" オプションを指定すると、今開いているエディタを左右に分割し、右側に生成されたPDFを表示するようにしてくれる
    // この PDF ビュアーは LaTeX のビルドによって更新されると同期して内容を更新してくれる。
    "latex-workshop.view.pdf.viewer": "tab",

    // latex-workshop.latex.autoBuild.run: .tex ファイルの保存時に自動的にビルドを行うかどうか
    // LaTeX ファイルは .tex ファイルを変更後にビルドしないと、PDF ファイル上に変更結果が反映されないため、
    // .tex ファイルの保存と同時に自動的にビルドを実行する設定があるが、文書が大きくなるに連れてビルドにも
    // 時間がかかってしまい、ビルドプログラムの負荷がエディタに影響するため、無効化しておく。
    "latex-workshop.latex.autoBuild.run": "never",
    "[tex]": {
        // スニペット補完中にも補完を使えるようにする
        "editor.suggest.snippetsPreventQuickSuggestions": false,
        // インデント幅を2にする
        "editor.tabSize": 2
    },

    "[latex]": {
        // スニペット補完中にも補完を使えるようにする
        "editor.suggest.snippetsPreventQuickSuggestions": false,
        // インデント幅を2にする
        "editor.tabSize": 2
    },
    "[bibtex]": {
        // インデント幅を2にする
        "editor.tabSize": 2
    },


    // ---------- LaTeX Workshop ----------

    // 使用パッケージのコマンドや環境の補完を有効にする
    "latex-workshop.intellisense.package.enabled": true,

    // 生成ファイルを "out" ディレクトリに吐き出す
    "latex-workshop.latex.outDir": "out",

}



0

4Answer

エラーメッセージに pLaTeX2e が必要とあります。今の設定でこれが走らないのではないかと思います。

1Like

参照した記事に従って texliveをインストールしてjsarticleが使えないということなので、
googleで texlive jarticle を検索しました。いくつか探してみたところ、

https://texwiki.texjp.org/?LaTeX%E5%85%A5%E9%96%80%2F%E7%99%BA%E5%B1%95%E7%B7%A8
の中に、以下の記述が見つかりました。試してみてください。

これまで「LaTeX 入門」で示した pLaTeX 用のソースは以下の点を変えるだけで upLaTeX 用のものに改変できます:

  • ソースを作成するとき,文字コードは UTF-8 に指定する
  • jsarticle クラスのオプションに uplatex をつける,つまり \documentclass[uplatex,dvipdfmx,...]{jsarticle} のように書く
1Like

参照されているページでは.latexmkrcでLuaLaTeXを使う設定にしているようです(そもそも冒頭にpLaTeXは古いから使わないと宣言されているページなので。。。)。もしそれをそのまま使っているのなら、pLaTeXを使うように書き換える必要があります。(あるいは、まったく.latexmkrcを用意していないのならpLaTeXに対応した.latexmkrcが必要です。)

参考: LaTexのコンパイルをLatexmkに統一する - platexの場合

1Like

皆さんありがとうございます。なるほど使っているものが違っていたのですね。自分でも調べたところ無事にpLaTeXでコンパイルできました。ありがとうございます!

0Like

Your answer might help someone💌