LaTeX WorkshopがRecipe terminated with fatal error: spawn latexmk ENOENT.というエラーでコンパイル不能

LaTeX WorkshopがRecipe terminated with fatal error: spawn latexmk ENOENT.というエラーでコンパイル不能

- tomix may の投稿
返信数: 7
概要
LaTeXをVScodeで使えるようにしたいと思い、VScodeにLaTeX Workshopをインストール後、こちらのブログに書かれている通りに設定し、
%!TEX encoding = UTF-8
% ビルドレシピは「pLaTeX」を選択する
\documentclass{jsreport}

\begin{document}
\chapter{はじめに}
\section{概要}
これは \LaTeX が Visual Studio Code でビルドできるかどうかのテスト文章である。
\chapter{おわりに}
これが表示されていれば成功である。
\end{document}
という内容のuntitled-1.texをビルドレシピpLaTeXでビルドしてみましたが、
Recipe terminated with fatal error: spawn latexmk ENOENT.
というエラーが返ってきて処理が進みません。

環境
  • windows10(64bit)
  • TeXLive2017(LaTeX2e美文章作成入門改訂第7版のDVD-ROMでインストール)
  • ホームディレクトリはC:\Users\ユーザー
  • untitled-1.texの置き場はC:\Users\ユーザー\tex練習
  • .latexmkrcファイルの置き場はC:\Users\ユーザー\tex練習
.latexmkrcファイルの内容

#!/usr/bin/env perl

# OS によって実行ファイル名が異なるので、OSを判断する
# Windows の場合
if ($^O eq 'MSWin32') {
# 通常の LaTeX ドキュメントのビルドコマンド
$latex = 'uplatex %O -kanji=utf8 -no-guess-input-enc -synctex=1 -interaction=nonstopmode %S';
# pdfLaTeX のビルドコマンド
$pdflatex = 'pdflatex %O -synctex=1 -interaction=nonstopmode %S';
# LuaLaTeX のビルドコマンド
# 追記(2019/06/02): @skytomo221 さんの指摘に基づき修正
$lualatex = 'lualatex %O -synctex=1 -interaction=nonstopmode %S';
# XeLaTeX のビルドコマンド
$xelatex = 'xelatex %O -no-pdf -synctex=1 -shell-escape -interaction=nonstopmode %S';
# Biber, BibTeX のビルドコマンド
$biber = 'biber %O --bblencoding=utf8 -u -U --output_safechars %B';
$bibtex = 'upbibtex %O %B';
# makeindex のビルドコマンド
$makeindex = 'upmendex %O -o %D %S';
# dvipdf のビルドコマンド
$dvipdf = 'dvipdfmx %O -o %D %S';
# dvipd のビルドコマンド
$dvips = 'dvips %O -z -f %S | convbkmk -u > %D';
$ps2pdf = 'ps2pdf.exe %O %S %D';
# PDF の作成方法を指定するオプション
# $pdf_mode = 0; PDF を作成しません。
# $pdf_mode = 1; $pdflatex を利用して PDF を作成します。
# $pdf_mode = 2; $ps2pdf を利用して .ps ファイルから PDF を作成します。
# $pdf_mode = 3; $dvipdf を利用して .dvi ファイルから PDF を作成します。
# $pdf_mode = 4; $lualatex を利用して .dvi ファイルから PDF を作成します。
# $pdf_mode = 5; xdvipdfmx を利用して .xdv ファイルから PDF を作成します。
$pdf_mode = 3;
# PDF ビュアーの設定 for Windows
# Windows では SyncTeX が利用できる SumatraPDF が推奨されている。
# SumatraPDF: https://www.sumatrapdfreader.org/free-pdf-reader.html
if (-f 'C:/Program Files/SumatraPDF/SumatraPDF.exe') {
$pdf_previewer = '"C:/Program Files/SumatraPDF/SumatraPDF.exe" -reuse-instance';
} elsif (-f 'C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe') {
$pdf_previewer = '"C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance';
} else {
# SumatraPDF が存在しない場合は、TeXworks で開くように設定されている。
# 別のアプリケーション(Adobe Reader 等)で開きたい場合はここに実行ファイルのパスを設定する
$pdf_previewer = 'texworks';
}
# Windows 以外の OS の場合 (Linux, macOS)
} else {
$latex = 'uplatex %O -synctex=1 -interaction=nonstopmode %S';
$pdflatex = 'pdflatex %O -synctex=1 -interaction=nonstopmode %S';
$lualatex = 'lualatex %O -synctex=1 -interaction=nonstopmode %S';
$xelatex = 'xelatex %O -no-pdf -synctex=1 -shell-escape -interaction=nonstopmode %S';
$biber = 'biber %O --bblencoding=utf8 -u -U --output_safechars %B';
$bibtex = 'upbibtex %O %B';
$makeindex = 'upmendex %O -o %D %S';
$dvipdf = 'dvipdfmx %O -o %D %S';
$dvips = 'dvips %O -z -f %S | convbkmk -u > %D';
$ps2pdf = 'ps2pdf %O %S %D';
$pdf_mode = 3;
# macOS の場合のみの設定
if ($^O eq 'darwin') {
# 一時ファイルの作成を抑止するオプション(0: 抑止)
# Skim 等の変更検知機構のあるビュアーで変更箇所を検知できるようにするため
$pvc_view_file_via_temporary = 0;
# PDF ビュアーの設定 for macOS
# macOS では SyncTeX が利用できる Skim が推奨されている。
$pdf_previewer = 'open -ga /Applications/Skim.app';
} else {
# PDF ビュアーの設定 for Linux
# Linux ではディストリビューションによってインストールされているアプリケーションが
# 異なるため、ディストリビューションに依存しない xdg-open で開くようにする
$pdf_previewer = 'xdg-open';
}
}

setting.jsonの内容

{
"C_Cpp.updateChannel": "Insiders",
"code-runner.executorMap": {
 
"code-runner.executorMap":"",
"code-runner.clearPreviousOutput": true,
"code-runner.runInTerminal": true,
"javascript": "node",
"typescript.tsdk": "node_modules\\typescript\\lib",
"editor.detectIndentation": false,
"editor.tabSize": 4,
"editor.formatOnSave": true,
"java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
"c": "cd $dir && gcc -fexec-charset=CP932 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"objective-c": "cd $dir && gcc -framework Cocoa $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"php": "php",
"python": "python -u",
"perl": "perl",
"perl6": "perl6",
"ruby": "ruby",
"go": "go run",
"lua": "lua",
"groovy": "groovy",
"powershell": "powershell -ExecutionPolicy ByPass -File",
"bat": "cmd /c",
"shellscript": "bash",
"fsharp": "fsi",
"csharp": "scriptcs",
"vbscript": "cscript //Nologo",
"typescript": "ts-node",
"coffeescript": "coffee",
"scala": "scala",
"swift": "swift",
"julia": "julia",
"crystal": "crystal",
"ocaml": "ocaml",
"r": "Rscript",
"applescript": "osascript",
"clojure": "lein exec",
"haxe": "haxe --cwd $dirWithoutTrailingSlash --run $fileNameWithoutExt",
"rust": "cd $dir && rustc $fileName && $dir$fileNameWithoutExt",
"racket": "racket",
"scheme": "csi -script",
"ahk": "autohotkey",
"autoit": "autoit3",
"dart": "dart",
"pascal": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt",
"d": "cd $dir && dmd $fileName && $dir$fileNameWithoutExt",
"haskell": "runhaskell",
"nim": "nim compile --verbosity:0 --hints:off --run",
"lisp": "sbcl --script",
"kit": "kitc --run",
"v": "v run",
"sass": "sass --style expanded",
"scss": "scss --style expanded",
"less": "cd $dir && lessc $fileName $fileNameWithoutExt.css",
"FortranFreeForm": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"fortran-modern": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"fortran_fixed-form": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"fortran": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
},
"workbench.colorTheme": "Monokai",
"workbench.startupEditor": "welcomePage",
"editor.fontLigatures": false,

// 設定: 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": [
// latexmk を利用した xelatex によるビルドコマンド
{
"name": "Latexmk (XeLaTeX)",
"command": "latexmk",
"args": [
"-f", "-gg", "-pv", "-xelatex", "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%"
]
},
// latexmk を利用した uplatex によるビルドコマンド
{
"name": "Latexmk (upLaTeX)",
"command": "latexmk",
"args": [
"-f", "-gg", "-pv", "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%"
]
},
// latexmk を利用した platex によるビルドコマンド
// 古い LaTeX のテンプレートを使いまわしている (ドキュメントクラスが jreport や jsreport ) 場合のため
{
"name": "Latexmk (pLaTeX)",
"command": "latexmk",
"args": [
"-f", "-gg", "-pv", "-latex='platex'", "-latexoption='-kanji=utf8 -no-guess-input-env'", "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%"
]
},
// latexmk を利用した lualatex によるビルドコマンド
{
"name": "Latexmk (LuaLaTeX)",
"command": "latexmk",
"args": [
"-f", "-gg", "-pv", "-lualatex", "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%"
]
}
],

// latex-workshop.latex.recipes: Recipe の定義
"latex-workshop.latex.recipes": [
// XeLaTeX で書かれた文書のビルドレシピ
{
"name": "XeLaTeX",
"tools": [
"Latexmk (XeLaTeX)"
]
},
// LaTeX(upLaTeX) で書かれた文書のビルドレシピ
{
"name": "upLaTeX",
"tools": [
"Latexmk (upLaTeX)"
]
},
// LaTeX(pLaTeX) で書かれた文書のビルドレシピ
{
"name": "pLaTeX",
"tools": [
"Latexmk (pLaTeX)"
]
},
// LuaLaTeX で書かれた文書のビルドレシピ
{
"name": "LuaLaTeX",
"tools": [
"Latexmk (LuaLaTeX)"
]
}
],

// latex-workshop.latex.magic.args: マジックコメント付きの LaTeX ドキュメントをビルドする設定
// '%!TEX' で始まる行はマジックコメントと呼ばれ、LaTeX のビルド時にビルドプログラムに解釈され、
// プログラムの挙動を制御する事ができる。
// 参考リンク: https://blog.miz-ar.info/2016/11/magic-comments-in-tex/
"latex-workshop.latex.magic.args": [
"-f", "-gg", "-pv", "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%"
],

// latex-workshop.latex.clean.fileTypes: クリーンアップ時に削除されるファイルの拡張子
// LaTeX 文書はビルド時に一時ファイルとしていくつかのファイルを生成するが、最終的に必要となるのは
// PDF ファイルのみである場合などが多い。また、LaTeX のビルド時に失敗した場合、失敗時に生成された
// 一時ファイルの影響で、修正後のビルドに失敗してしまう事がよくある。そのため、一時的なファイルを
// 削除する機能 (クリーンアップ) が LaTeX Workshop には備わっている。
"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", "*.synctex.gz",
// for Beamer files
"_minted*", "*.nav", "*.snm", "*.vrb",
],

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

// latex-workshop.latex.autoClean.run: ビルド失敗時に一時ファイルのクリーンアップを行うかどうか
// 上記説明にもあったように、ビルド失敗時に生成された一時ファイルが悪影響を及ぼす事があるため、自動で
// クリーンアップがかかるようにしておく。
"latex-workshop.latex.autoClean.run": "onFailed",

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

ビルド時のログ

[17:34:21] Initializing LaTeX Workshop.
[17:34:21] Extension root: c:\Users\ユーザー\.vscode\extensions\james-yu.latex-workshop-8.15.0
[17:34:21] Creating PDF file watcher.
[17:34:21] Cannot run pdflatex to determine if we are using MiKTeX
[17:34:21] Creating LaTeX Workshop http and websocket server.
[17:34:21] LaTeX Workshop initialized.
[17:34:21] Current workspace folders: undefined
[17:34:21] Current workspaceRootDir:
[17:34:21] Found root file from active editor: c:\Users\ユーザー\tex練習\untitled-1.tex
[17:34:21] Root file changed: from undefined to c:\Users\ユーザー\tex練習\untitled-1.tex
[17:34:21] Start to find all dependencies.
[17:34:21] Root file languageId: latex
[17:34:21] Instantiating a new file watcher for c:\Users\ユーザー\tex練習\untitled-1.tex
[17:34:21] Creating Bib file watcher.
[17:34:21] Parsing a file and its subfiles: c:\Users\ユーザー\tex練習\untitled-1.tex
[17:34:21] Parse fls file.
[17:34:21] Cannot find fls file: c:\Users\ユーザー\tex練習\untitled-1.fls
[17:34:21] Server created on 127.0.0.1:63598
[17:34:21] Added to file watcher: c:\Users\ユーザー\tex練習\untitled-1.tex
[17:34:21] Snippet data loaded.
[17:34:21] LaTeX Workshop version: 8.15.0
[17:34:25] RECIPES command invoked.
[17:34:25] BUILD command invoked.
[17:34:25] The document of the active editor: file:///c%3A/Users/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC/tex%E7%B7%B4%E7%BF%92/untitled-1.tex
[17:34:25] The languageId of the document: latex
[17:34:25] Current workspace folders: undefined
[17:34:25] Current workspaceRootDir:
[17:34:25] Found root file from active editor: c:\Users\ユーザー\tex練習\untitled-1.tex
[17:34:25] Keep using the same root file: c:\Users\ユーザー\tex練習\untitled-1.tex
[17:34:25] Building root file: c:\Users\ユーザー\tex練習\untitled-1.tex
[17:34:25] Build root file c:\Users\ユーザー\tex練習\untitled-1.tex
[17:34:26] Recipe step 1: latexmk, -f,-gg,-pv,-latex='platex',-latexoption='-kanji=utf8 -no-guess-input-env',-synctex=1,-interaction=nonstopmode,-file-line-error,c:/Users/ユーザー/tex練習/untitled-1
[17:34:26] Recipe step env: undefined
[17:34:26] cwd: c:\Users\ユーザー\tex練習
[17:34:26] LaTeX build process spawned. PID: 900.
[17:34:26] LaTeX fatal error: spawn latexmk ENOENT, 'latexmk' �́A�����R�}���h�܂��͊O���R�}���h�A
����\�ȃv���O�����܂��̓o�b�` �t�@�C���Ƃ��ĔF������Ă��܂���B
. PID: 900.
[17:34:26] Does the executable exist? PATH: C:\MinGW\bin;C:\Perl64\site\bin;C:\Perl64\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\MinGW\bin;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\ユーザー\AppData\Local\Microsoft\WindowsApps;C:\Users\ユーザー\AppData\Local\Programs\Microsoft VS Code\bin;
[17:34:26] The environment variable $SHELL: undefined
[17:34:29] LOG command invoked: default


なお、日本語のLaTeXworkshop環境構築ブログには片っ端から目を通し、どの方法も試してみましたが、同様のエラーが返ってくるばかりでした。
最終的には前述のこのブログに書かれてあるような、latexmkを利用したpLaTeXによるコンパイルができる環境を作りたいです。

長々と失礼しました。解決方法がございましたらご教授いただけますと幸いです。
tomix may への返信

Re: LaTeX WorkshopがRecipe terminated with fatal error: spawn latexmk ENOENT.というエラーでコンパイル不能

- 和田 勇 の投稿
詳しくは見ていませんが最後のエラー部分をそのままコピペして検索すると

> [17:34:26] LaTeX fatal error: spawn latexmk ENOENT, 'latexmk' ...

latexmk を起動できなかったということですが、直後に PATH 情報が記録されていますね。

> . PID: 900.
> [17:34:26] Does the executable exist?
> PATH: C:\MinGW\bin
> C:\Perl64\site\bin
> C:\Perl64\bin
> C:\WINDOWS\system32
> C:\WINDOWS
> C:\WINDOWS\System32\Wbem
> C:\WINDOWS\System32\WindowsPowerShell\v1.0\
> C:\WINDOWS\System32\OpenSSH\
> C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86
> C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64
> C:\MinGW\bin
> C:\Program Files\MySQL\MySQL Shell 8.0\bin\
> C:\Users\ユーザー\AppData\Local\Microsoft\WindowsApps
> C:\Users\ユーザー\AppData\Local\Programs\Microsoft VS Code\bin

これを見るかぎり 美文書7版の C:texlive\2019\bin\win32 が通っていません。美文書をインストールしたあと、OS 再起動や VSCode を再起動していなかったら、一度 OS の再起動を行って見てください。

またうまくいかないのであれば VSCode でいきなりやるのではなく、 VSCode のコンソールやコマンドプロンプトで以下のコマンドで試してください。
    echo %PATH%
    cd tex練習
    latexmk untitled-1.tex

これでうまくいかなければ untitled-1.log というファイルが作成されますのでそれを添付してください。
和田 勇 への返信

Re: LaTeX WorkshopがRecipe terminated with fatal error: spawn latexmk ENOENT.というエラーでコンパイル不能

- tomix may の投稿
和田様、コメントありがとうございます。

実は以前からコマンドプロンプトでlatexmkが使えない状況でして…
再起動しても状況が変わらなかったため、環境変数Pathの先頭にC:\texlive\2017\bin\win32を手動で追加したところ、latexmkがコマンドとして認識されるようになりました。

その後、echo %PATH%に対する返答は
C:\texlive\2017\bin\win32;C:\MinGW\bin;C:\Perl64\site\bin;C:\Perl64\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\texlive\2017\bin\win32;C:\MinGW\bin;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\ユーザー\AppData\Local\Microsoft\WindowsApps;C:\Users\ユーザー\AppData\Local\Programs\Microsoft VS Code\bin;
となりました。

また、コマンドプロンプトで
cd tex練習
latexmk untitled-1.tex
を実行しましたが、pdfは生成されず…
このとき生成されたuntitled-1.logは下記の内容のものでした。

This is e-upTeX, Version 3.14159265-p3.7.1-u1.22-161114-2.6 (utf8.uptex) (TeX Live 2017/W32TeX) (preloaded format=uplatex 2020.11.20) 4 FEB 2021 13:48
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**./untitled-1.tex
(./untitled-1.tex
pLaTeX2e <2017/10/28u01>+4 (based on LaTeX2e <2017-04-15>)
Babel <3.18> and hyphenation patterns for 84 language(s) loaded.
(c:/texlive/2017/texmf-dist/tex/platex/jsclasses/jsreport.cls
Document Class: jsreport 2017/10/04 jsclasses (okumura, texjporg)

! Class jsreport Error: You are running upLaTeX.
(jsreport) Please use pLaTeX instead, or add 'uplatex' to
(jsreport) the class option list.

See the jsreport class documentation for explanation.
Type H <return> for immediate help.
...
 
l.236 {\@ehc}
 
Try typing <return> to proceed.
If that doesn't work, type X <return> to quit.

\jsc@mpt=\dimen118
\jsc@mmm=\dimen119
\jsc@smallskipamount=\skip41
LaTeX Info: Redefining \rmfamily on input line 472.
LaTeX Info: Redefining \sffamily on input line 475.
LaTeX Info: Redefining \ttfamily on input line 478.
LaTeX Info: Redefining \textmc on input line 482.
LaTeX Info: Redefining \textgt on input line 484.
\symmincho=\mathgroup4
LaTeX Font Info: Overwriting symbol font `mincho' in version `bold'
(Font) JY2/mc/m/n --> JY2/gt/m/n on input line 546.
LaTeX Font Info: Font shape `JT2/mc/m/n' will be
(Font) scaled to size 9.24683pt on input line 737.
LaTeX Font Info: Font shape `JY2/mc/m/n' will be
(Font) scaled to size 9.24683pt on input line 737.
\fullwidth=\dimen120
LaTeX Font Info: Font shape `JT2/mc/m/n' will be
(Font) scaled to size 7.39746pt on input line 876.
LaTeX Font Info: Font shape `JY2/mc/m/n' will be
(Font) scaled to size 7.39746pt on input line 876.
\c@part=\count82
\c@chapter=\count83
\c@section=\count84
\c@subsection=\count85
\c@subsubsection=\count86
\c@paragraph=\count87
\c@subparagraph=\count88
\@abstractbox=\box42
\c@figure=\count89
\c@table=\count90
\abovecaptionskip=\skip42
\belowcaptionskip=\skip43
\jsc@tocl@width=\dimen121
\@lnumwidth=\dimen122
\bibindent=\dimen123
(c:/texlive/2017/texmf-dist/tex/platex/jsclasses/jslogo.sty
Package: jslogo 2017/02/24 okumura, texjporg
LaTeX Info: Redefining \TeX on input line 94.
LaTeX Info: Redefining \LaTeX on input line 147.
LaTeX Info: Redefining \LaTeXe on input line 200.
)
\heisei=\count91
) (./untitled-1.aux)
\openout1 = `untitled-1.aux'.

LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for JY2/mc/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for JT2/mc/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.

第1章
LaTeX Font Info: Font shape `JT2/mc/m/n' will be
(Font) scaled to size 19.17792pt on input line 6.
LaTeX Font Info: Font shape `JY2/mc/m/n' will be
(Font) scaled to size 19.17792pt on input line 6.
LaTeX Font Info: Font shape `JT2/gt/m/n' will be
(Font) scaled to size 19.17792pt on input line 6.
LaTeX Font Info: Font shape `JY2/gt/m/n' will be
(Font) scaled to size 19.17792pt on input line 6.
LaTeX Font Info: Font shape `JT2/gt/m/n' will be
(Font) scaled to size 23.0061pt on input line 6.
LaTeX Font Info: Font shape `JY2/gt/m/n' will be
(Font) scaled to size 23.0061pt on input line 6.
LaTeX Font Info: Font shape `JT2/mc/m/n' will be
(Font) scaled to size 13.31541pt on input line 7.
LaTeX Font Info: Font shape `JY2/mc/m/n' will be
(Font) scaled to size 13.31541pt on input line 7.
LaTeX Font Info: Font shape `JT2/gt/m/n' will be
(Font) scaled to size 13.31541pt on input line 7.
LaTeX Font Info: Font shape `JY2/gt/m/n' will be
(Font) scaled to size 13.31541pt on input line 7.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <7> on input line 8.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 8.
LaTeX Font Info: Font shape `JY2/mc/m/n' will be
(Font) scaled to size 6.47278pt on input line 8.
LaTeX Font Info: Font shape `JY2/mc/m/n' will be
(Font) scaled to size 4.62341pt on input line 8.
LaTeX Font Info: Font shape `JT2/mc/m/n' will be
(Font) scaled to size 6.47278pt on input line 8.
[1


]
第2章
[2

] (./untitled-1.aux) )
Here is how much of TeX's memory you used:
477 strings out of 493636
5132 string characters out of 6151819
62427 words of memory out of 5000000
4157 multiletter control sequences out of 15000+600000
10161 words of font info for 54 fonts, out of 8000000 for 9000
934 hyphenation exceptions out of 8191
23i,4n,20p,148b,168s stack positions out of 5000i,500n,10000p,200000b,80000s

Output written on untitled-1.dvi (2 pages, 940 bytes).

tomix may への返信

Re: LaTeX WorkshopがRecipe terminated with fatal error: spawn latexmk ENOENT.というエラーでコンパイル不能

- 和田 勇 の投稿
最近は IDE 環境だとおかしなところをカラー表示などしてくれるのですが、そういうものが利用できない状況であれば、コマンド実行結果やログを見る癖を付けましょう。

それらを見る時は、否定的な ERROE FAIL WARNING EXIT などのその部分文字列を探してください。

> ! Class jsreport Error: You are running upLaTeX.
> (jsreport) Please use pLaTeX instead, or add 'uplatex' to
> (jsreport) the class option list.


上記が記録されています。簡単に説明すると
  jsreport を uplatex で処理しようとしてるけど ....
  uplatex でなく platex を使うか、
  jsreport に upreport のオプションつけて
  やってみて
てな感じ。なので&ついでに dvipdfmx 対策も含めて以下の様にすれば通ると思います。

  \documentclass[dvipdfmx,uplatex]{jsreport}

# latexmkrc を platex ベースにしても良いですが ...
和田 勇 への返信

Re: LaTeX WorkshopがRecipe terminated with fatal error: spawn latexmk ENOENT.というエラーでコンパイル不能

- tomix may の投稿
和田様、お返事ありがとうございます。
ログを読む際の着眼点、非常に勉強になります…!丸投げで失礼いたしました…今後はできる限り自力で解読してから投稿するようにします。

その後のご報告です。

クラスオプションにuplatex,dvipdfmxを追加したところ、コマンドプロンプト上ではコンパイルが成功してuntitled-1.pdfが生成されましたが、VScodeではなかなかうまくいかず…
いろいろ試してみた結果、ファイル名をuntitled-1.texからuntitled.texに変更したところ、コンパイルが成功しました。
どうやらVScodeではファイル名を半角アルファベットだけで構成する必要があるようです。

和田様のご助言から、結果以上に多くの教訓を得ることができました。本当にありがとうございました。

tomix may への返信

Re: LaTeX WorkshopがRecipe terminated with fatal error: spawn latexmk ENOENT.というエラーでコンパイル不能

- 和田 勇 の投稿
untitled-1.tex が VSCode で通らない件ですが、切り出したファイル名を展開した形が数式の一部として評価され、再評価しようとしたのかしら?
VScode の拡張あたりの辺の話はよくわからないので、既知の問題とその対象方法としておきましょう。

それと PATH がインストール時に指定されなかったのは何故か疑問なのですが‥ただ、先日第8版を入れた際には、問題なく設定されたのと、現在
新たな言語の勉強で時間が取れないので、これも追求はしません。

これから自力で。。とのことなのでお節介情報

◆ -interaction=nonstopmode
何故、エラーなのに最後まで処理しようとするのかは、latexmkrc でこのオプションを指定しているからです。
軽微なエラーは無視して突き進んでしまうので、このことを留意して作業を進めてください。

◆文字列検索ツール ripgrep
エラーなどの文字列を効率よく検索するには、UNIX では grep というコマンドを使います。これを高速にかつ使いやすくそして Windows でも利用できる様にした ripgrep というツールがあります。scoop や chocolety で導入できます。コマンド名は rg と短いです。使い方は、以下のように探したい文字列を -e で始めたものをいくつかつなげるだけです。-i は大文字小文字を同一に見るためのオプション。

  rg -i -e err -e warn -e fail

VScode でプロジェクト以下のファイル検索した時のリストの様なものがコンソールに表示されます。

私は、他人の書いたソースのメンテナンスなので、どこを見るべきか検討をつけるときなど様々なケースで使います。
和田 勇 への返信

Re: LaTeX WorkshopがRecipe terminated with fatal error: spawn latexmk ENOENT.というエラーでコンパイル不能

- tomix may の投稿
気づくのが遅れてしまい、申し訳ありません…

美文章作成入門のDVD-ROMの不具合ではないはずです。
美文書作成入門のDVD-ROMを入れた後は普通にmktexlsrが普通に使えていたのですが、Ubuntuをインストール・アンインストールした後からmktexlsrが使えなくなったんですよね…Pathが消えたのは恐らくこのときです。知らないうちにいろいろやらかしているのだと思います(汗)

お節介本当に助かります…!
あぁそうか、『致命的なエラー』が出ない限り止まらないんですね。
latexmkrcの中身、何も分からずコピペしていましたが…TeX wikiなどを見ていろいろカスタマイズしてみようと思います。

そしてripgrep!ベテランの方はログを一から十まで読むわけじゃないんですね…(全文をgoogle翻訳にコピペしていた自分が恥ずかしい…)
chocolateyはscriptcs導入の際にインストールしたので、早速使ってみます。

何から何まで助けていただきありがとうございます。頑張ります笑顔

tomix may への返信

Re: LaTeX WorkshopがRecipe terminated with fatal error: spawn latexmk ENOENT.というエラーでコンパイル不能

- 和田 勇 の投稿
返信するか迷ったけど ... 個人的な見解ですのであまり突っ込まないでね。:-)

◆Path
これとっても大切。この場でも多くの方がそれで混沌の世界で右往左往

mktexlsr って texlive の関連コマンドなのでアンインストールしたら使えない。使えたら他のインストールで入れたものが利用されていると思って下さい。

なので僕が質問者に問い返すときよくログを要求するのは、この情報の一部を確認するため。

◆ノンストップモード
場合によっては必要なオプションだというのは認めるけど、初心者にはあまり勧めたくないオプションです。

◆google 翻訳
どの様なものを検索対象にするか否かは、失敗を繰り返して「体」で覚えて下さい。
で、翻訳ですが、つい最近から DEEPL (https://www.deepl.com/translator) を主に利用するよう変えました。
emacs だけはとりあえず版で対応。
Googleよりは滑らかな感じがします。twitter のわけのわからぬ翻訳もこっちはすんなり意味がわかるので変える方法を探しています。