texlive2021にてlatexmkにplatexの使用を設定してもpdflatexが使われてしまいます

texlive2021にてlatexmkにplatexの使用を設定してもpdflatexが使われてしまいます

- mog mog の投稿
返信数: 1
OS:ubuntu20.04
editor:VScode

texlive2021をインストールしlatexmkrcファイルを以下のように設定しました。


#!/usr/bin/env perl

# LaTeX
$latex = 'platex %O %S';
$max_repeat = 5;

# BibTeX
$bibtex = 'pbibtex %O %S';
$biber = 'biber --bblencoding=utf8 -u -U --output_safechars %O %S';

# index
$makeindex = 'mendex %O -o %D %S';

# DVI / PDF
$dvipdf = 'dvipdfmx %O -o %D %S';
$pdf_mode = 3;

# preview
$pvc_view_file_via_temporary = 0;
if ($^O eq 'linux') {
$dvi_previewer = "xdg-open %S";
$pdf_previewer = "xdg-open %S";
} elsif ($^O eq 'darwin') {
$dvi_previewer = "open %S";
$pdf_previewer = "open %S";
} else {
$dvi_previewer = "start %S";
$pdf_previewer = "start %S";
}

# clean up
$clean_full_ext = "%R.synctex.gz"


またvscodeのsettings.jsonは以下のように設定しました


{{
// ---------- Language ----------

"[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,

// 生成ファイルを削除するときに対象とするファイル
// デフォルト値に "*.synctex.gz" を追加
"latex-workshop.latex.clean.fileTypes": [
"*.aux",
"*.bbl",
"*.blg",
"*.idx",
"*.ind",
"*.lof",
"*.lot",
"*.out",
"*.toc",
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.ist",
"*.fls",
"*.log",
"*.fdb_latexmk",
"*.snm",
"*.nav",
"*.dvi",
"*.synctex.gz"
],

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

// ビルドのレシピ
"latex-workshop.latex.recipes": [
{
"name": "latexmk",
"tools": [
"latexmk"
]
},
],

// ビルドのレシピに使われるパーツ
"latex-workshop.latex.tools": [
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-silent",
"-outdir=%OUTDIR%",
"%DOC%"
],
},
],
}
}

これらの設定のもとで以下のsample.tex

\documentclass[10pt,a4paper]{jsarticle}


% 数式
\usepackage{amsmath,amsfonts}
\usepackage{bm}
% 画像
\usepackage[dvipdfmx]{graphicx}


\begin{document}

\title{texです}
\author{aaaa}
\date{\today}
\maketitle

aaaa


\end{document}


をビルドしたところ以下のエラーが発生しました。


Rc files read:
/home/"username"/.latexmkrc
Latexmk: This is Latexmk, John Collins, 15 April 2021, version: 4.72b.
Rule 'pdflatex': File changes, etc:
Changed files, or newly in use since previous run(s):
'/home/"username"/sampletex/sample.tex'
------------
Run number 1 of rule 'pdflatex'
------------
------------
Running 'pdflatex -synctex=1 -interaction=nonstopmode -file-line-error -recorder "/home/"username"/sampletex/sample.tex"'
------------
Latexmk: applying rule 'pdflatex'...
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
(/home/"username"/sampletex/sample.tex
LaTeX2e <2020-10-01> patch level 4
L3 programming layer <2021-02-18> (/usr/local/texlive/2021/texmf-dist/tex/platex/jsclasses/jsarticle.cls

/usr/local/texlive/2021/texmf-dist/tex/platex/jsclasses/jsarticle.cls:14: LaTeX Error: This file needs format `pLaTeX2e'
but this is `LaTeX2e'.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.14 \NeedsTeXFormat{pLaTeX2e}
) (/usr/local/texlive/2021/texmf-dist/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the `?' option.
(/usr/local/texlive/2021/texmf-dist/tex/latex/amsmath/amstext.sty (/usr/local/texlive/2021/texmf-dist/tex/latex/amsmath/amsgen.sty)) (/usr/local/texlive/2021/texmf-dist/tex/latex/amsmath/amsbsy.sty) (/usr/local/texlive/2021/texmf-dist/tex/latex/amsmath/amsopn.sty)) (/usr/local/texlive/2021/texmf-dist/tex/latex/amsfonts/amsfonts.sty) (/usr/local/texlive/2021/texmf-dist/tex/latex/tools/bm.sty) (/usr/local/texlive/2021/texmf-dist/tex/latex/graphics/graphicx.sty (/usr/local/texlive/2021/texmf-dist/tex/latex/graphics/keyval.sty) (/usr/local/texlive/2021/texmf-dist/tex/latex/graphics/graphics.sty (/usr/local/texlive/2021/texmf-dist/tex/latex/graphics/trig.sty) (/usr/local/texlive/2021/texmf-dist/tex/latex/graphics-cfg/graphics.cfg) (/usr/local/texlive/2021/texmf-dist/tex/latex/graphics-def/dvipdfmx.def))) (/usr/local/texlive/2021/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def) (./sample.aux)

/home/"username"/sampletex/sample.tex:11: LaTeX Error: The font size command \normalsize is not defined:
there is probably something wrong with the class file.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.11 \begin{document}
/home/"username"/sampletex/sample.tex:16: Undefined control sequence.
l.16 \maketitle

/home/"username"/sampletex/sample.tex:21: LaTeX Error: The font size command \normalsize is not defined:
there is probably something wrong with the class file.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.21 \end{document}
[1{/usr/local/texlive/2021/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] (./sample.aux) )
(see the transcript file for additional information)</usr/local/texlive/2021/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb>
Output written on sample.pdf (1 page, 9471 bytes).
SyncTeX written on sample.synctex.gz.
Transcript written on sample.log.
Latexmk: Examining 'sample.log'
=== TeX engine is 'pdfTeX'
Latexmk: Log file says output to 'sample.pdf'
Collected error summary (may duplicate other messages):
pdflatex: Command for 'pdflatex' gave return code 1
Refer to 'sample.log' for details
Latexmk: Use the -f option to force complete processing,
unless error was exceeding maximum runs, or warnings treated as errors.
Latexmk: Errors, so I did not complete making targets

>>Rc files read:
/home/"username"/.latexmkrc
を見るとlatexmkは読み込まれているようなのでlatexmkrcに設定したようにplatexを使ってほしいのですが
>>Rule 'pdflatex': File changes, etc:
を見る限りpdflatexが使われているようなのです。これをplatexに変更したい場合はどのようにすればよいのでしょうか?

PATH設定は以下のようになっていおります。
/home/"username"/anaconda3/bin:
/home/"username"/anaconda3/condabin:
/home/"username"/.latexmkrc:
/usr/local/texlive:
/home/"username"/pycharm2021.1/bin:
/home/"username"/.nodebrew/current/bin:
/usr/local/sbin:
/usr/local/bin:
/usr/sbin:
/usr/bin:
/sbin:
/bin:
/usr/games:
/usr/local/games:
/snap/bin

試したことは以下になります。
・ubuntuの再起動
変化なし
・documentclassをarticleに変更、「texです」部分を「tex」に変えてコンパイル
問題なくpdf生成。pdflatexなら正常に動く。
・端末から以下のコマンドで直接コンパイル
$ platex sample.tex
$ dvipdfmx sample
問題なくpdf生成。platexにも問題ないようです。

linux初心者で、また初めての質問なので分かりづらいところが多々あり恐縮ですがよろしくお願いいたします。
mog mog への返信

Re: texlive2021にてlatexmkにplatexの使用を設定してもpdflatexが使われてしまいます

- mog mog の投稿
すみません。自己解決しました。

settings.jsonの{}がおかしかっただけでした。