texlive2022で、jlreq において unikode-mathを使うとコンパイルできない。

texlive2022で、jlreq において unikode-mathを使うとコンパイルできない。

- Yamada Taro の投稿
返信数: 6
初めて質問させていただきます。texlive2022でクラスファイルjlreq上で、unicode-mathとXITSを使うと、lualatexで エラーになります。ltjsarticleでは正常にコンパイルできます。なお私のOSはFreeBSD13です。対処法を教えていただければ幸いです。よろしくお願いいたします。



以下はTeX sourceとerror log です。

--- TeX source ---
\documentclass{jlreq}
%=============
%\documentclass{ltjsarticle}
%=============
\usepackage{amsmath}
\usepackage{unicode-math}
\setmainfont{XITS}
\setmathfont{XITS Math}
\begin{document}
\section{F 空間の例}
$\varOmega$を$\symbfit{R}^n$の開集合とする.$\varOmega$のcompact集合の列,$K_1,\cdots,K_j,\cdots$であって,次の二つの性質を持つものが存在する.

(1) \quad 各$j=1,2,\cdots$に対して,$K_j$は$K_{j+1}$の内部に含まれる.すなわち$K_j\Subset K_{j+1}$.

(2) \quad 集合列$K_j$の合併は$\varOmega$に等しい.
\end{document}
--- error log ----
Call `latexmk f_space.tex'
Rc files read:
.latexmkrc
Latexmk: This is Latexmk, John Collins, 17 Mar. 2022. Version 4.77, version: 4.77.
Latexmk: applying rule 'pdflatex'...
Rule 'pdflatex': File changes, etc:
Changed files, or newly in use since previous run(s):
f_space.tex
Rule 'pdflatex': The following rules & subrules became out-of-date:
pdflatex
------------
Run number 1 of rule 'pdflatex'
------------
------------
Running 'lualatex -synctex=1 -file-line-error -halt-on-interaction=nonstopmode -recorder "f_space.tex"'
------------
lualatex: unrecognized option '-halt-on-interaction=nonstopmode'
This is LuaHBTeX, Version 1.15.0 (TeX Live 2022)
restricted system commands enabled.
(./f_space.tex
LaTeX2e <2021-11-15> patch level 1
L3 programming layer <2022-02-24>
(/usr/local/texlive/2022/texmf-dist/tex/latex/jlreq/jlreq.cls
Document Class: jlreq 2022/04/05 jlreq
(/usr/local/texlive/2022/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
(/usr/local/texlive/2022/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-luatex.def)))
(/usr/local/texlive/2022/texmf-dist/tex/latex/etoolbox/etoolbox.sty)
(/usr/local/texlive/2022/texmf-dist/tex/latex/jlreq/jlreq-helpers.sty)
jlreq guessed engine: lualatex
(/usr/local/texlive/2022/texmf-dist/tex/luatex/luatexja/luatexja.sty
(/usr/local/texlive/2022/texmf-dist/tex/luatex/luatexja/luatexja-core.sty
(/usr/local/texlive/2022/texmf-dist/tex/luatex/luatexbase/luatexbase.sty
(/usr/local/texlive/2022/texmf-dist/tex/luatex/ctablestack/ctablestack.sty))
(/usr/local/texlive/2022/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty)
(/usr/local/texlive/2022/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
(/usr/local/texlive/2022/texmf-dist/tex/generic/infwarerr/infwarerr.sty)
(/usr/local/texlive/2022/texmf-dist/tex/generic/iftex/iftex.sty))
(/usr/local/texlive/2022/texmf-dist/tex/latex/xkeyval/xkeyval.sty
(/usr/local/texlive/2022/texmf-dist/tex/generic/xkeyval/xkeyval.tex
(/usr/local/texlive/2022/texmf-dist/tex/generic/xkeyval/xkvutils.tex
(/usr/local/texlive/2022/texmf-dist/tex/generic/xkeyval/keyval.tex))))
(/usr/local/texlive/2022/texmf-dist/tex/latex/everyhook/everyhook.sty
(/usr/local/texlive/2022/texmf-dist/tex/latex/svn-prov/svn-prov.sty))
(/usr/local/texlive/2022/texmf-dist/tex/luatex/luatexja/ltj-base.sty)
(/usr/local/texlive/2022/texmf-dist/tex/luatex/luatexja/ltj-latex.sty
(/usr/local/texlive/2022/texmf-dist/tex/luatex/luatexja/patches/lltjfont.sty
(/usr/local/texlive/2022/texmf-dist/tex/latex/base/tuenc.def))
(/usr/local/texlive/2022/texmf-dist/tex/luatex/luatexja/patches/lltjdefs.sty
(/usr/local/texlive/2022/texmf-dist/tex/luatex/jlreq/jfm-jlreqv.lua)
(/usr/local/texlive/2022/texmf-dist/tex/luatex/jlreq/jfm-jlreq.lua))
(/usr/local/texlive/2022/texmf-dist/tex/luatex/luatexja/patches/lltjcore.sty)
(/usr/local/texlive/2022/texmf-dist/tex/luatex/luatexja/patches/lltjp-atbegshi.
sty)
(/usr/local/texlive/2022/texmf-dist/tex/luatex/luatexja/patches/lltjp-geometry.
sty (/usr/local/texlive/2022/texmf-dist/tex/generic/iftex/ifluatex.sty))))
(/usr/local/texlive/2022/texmf-dist/tex/luatex/luatexja/luatexja-compat.sty))
(/usr/local/texlive/2022/texmf-dist/tex/luatex/luatexja/addons/luatexja-adjust.
sty) (/usr/local/texlive/2022/texmf-dist/tex/latex/lm/lmodern.sty)
(/usr/local/texlive/2022/texmf-dist/tex/latex/filehook/filehook.sty
(/usr/local/texlive/2022/texmf-dist/tex/latex/filehook/filehook-2020.sty)))
(/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the `?' option.
(/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty
(/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty))
(/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty)
(/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty))
(/usr/local/texlive/2022/texmf-dist/tex/latex/unicode-math/unicode-math.sty
(/usr/local/texlive/2022/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.
sty (/usr/local/texlive/2022/texmf-dist/tex/latex/l3packages/xparse/xparse.sty)
(/usr/local/texlive/2022/texmf-dist/tex/latex/fontspec/fontspec.sty
(/usr/local/texlive/2022/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
(/usr/local/texlive/2022/texmf-dist/tex/latex/base/fontenc.sty)
(/usr/local/texlive/2022/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
(/usr/local/texlive/2022/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec.
sty) (/usr/local/texlive/2022/texmf-dist/tex/latex/base/fix-cm.sty
(/usr/local/texlive/2022/texmf-dist/tex/latex/base/ts1enc.def))
(/usr/local/texlive/2022/texmf-dist/tex/lualatex/lualatex-math/lualatex-math.st
y)
(/usr/local/texlive/2022/texmf-dist/tex/latex/unicode-math/unicode-math-table.t
ex)))
(/usr/local/texlive/2022/texmf-dist/tex/luatex/luatexja/patches/lltjp-unicode-m
ath.sty)

./f_space.tex:9: LaTeX Error: Missing begin{document}.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.9 \begin
{document}
?


Yamada Taro への返信

Re: texlive2022で、jlreq において unikode-mathを使うとコンパイルできない。

- 前田 一貴 の投稿
jlreq 2022-04-05 では確かに再現しましたが,Github の最新版では問題ないようです.
https://github.com/abenori/jlreq/commit/306417586bc06d83759a38fec954f4e4c525785b
前田 一貴 への返信

Re: texlive2022で、jlreq において unikode-mathを使うとコンパイルできない。

- Yamada Taro の投稿
前田様ご教示ありがとうございました。早速 jlreq を最新版に置き換えたら、無事コンパイルできました。
Yamada Taro への返信

Re: texlive2022で、jlreq において unikode-mathを使うとコンパイルできない。

- 和田 勇 の投稿
  • 一応コンパイルできるようですがログの冒頭付近の「.latexmkrc」に関わると思われる警告メッセージが気になるので ...

    • pdflatex ベースになってる

      Latexmk: applying rule 'pdflatex'... Rule 'pdflatex': File changes, etc:

      原因は「 $pdf_mode = 1;」 と指定されているようです。

      lualatex をお望みであれば $pdf_mode = 4; だと思います。

    • 変数 $pdflatex に設定した lualatex 用のオプションエラー

      lualatex: unrecognized option '-halt-on-interaction=nonstopmode'

      どうやら二つのオプションを指定する際に一つにしているようです。

    「lualatex --help」で halt-on や nonstop を検索(grep) すると以下のようになっています。

    --halt-on-error               stop processing at the first error
    --interaction=STRING          set interaction mode
                      (STRING=batchmode/nonstopmode/scrollmode/errorstopmode)
    
  • 上記二つの警告を解消するには以下のようにした方が良いでしょう

    $pdf_mode = 4;
    $lualatex = 'lualatex -synctex=1 -file-line-error -halt-on-error -interaction=nonstopmode %O %S';
    
  • latexmk に似たコマンドで llmk の紹介です(参考にしてください)

    • -synctex などのオプションが不要であれば 「latexmk -pdflua f_space」でも良いですが ...

    • llmk というコマンドを利用するとある程度ソースファイルからコンパイル時の lualatex などのエンジンを推測してくれます。

    -詳しくは texdoc llmk を参照してください。

    • .latexmkrc に記述したようなことを、各ファイルの冒頭に記述するのが正統だと思いますが、今回のケースであれば llmk f_space で .latexmkrc に記述したものと同じオプションでコンパイルしてくれるようです。

    • 以下のように --dry-run オプションで確認できます。

      llmk --dry-run f_space

和田 勇 への返信

Re: texlive2022で、jlreq において unikode-mathを使うとコンパイルできない。

- Yamada Taro の投稿
和田様、ご教示ありがとうございます。ご指摘の内容を参考にしてlatexmkrcの手直しをしたいと思います。またllmkについても勉強したいと思います。ありがとうございます。
Yamada Taro への返信

Re: texlive2022で、jlreq において unikode-mathを使うとコンパイルできない。

- 阿部 紀行 の投稿
さきほどCTANに新しいものをアップロードしましたのでそのうちTeX Liveでも使えるようになると思います.
阿部 紀行 への返信

Re: texlive2022で、jlreq において unikode-mathを使うとコンパイルできない。

- Yamada Taro の投稿
安倍様、今後もjlreqを使いたいと思います。どうもありがとうございます。