subfilesパッケージとの併用
確認しました.
という 2 点によって ! LaTeX Error: Can be used only in preamble. エラーが出ています.
個人的には 1. が不自然な挙動のように思える(すでに test.tex で document 環境に入っているのだから)のですが,どうなのでしょう…….
実は、LaTeXのアップデートの直後、LuaLaTeXでstandaloneやsubfilesが動かない事態が発生していました。
これはl3kernelのバグということで、すでに解消されています。
こんなやりとりがあったようです: https://sourceforge.net/p/standalone/tickets/2/
luatexjaとぶつかることに関しても、l3kernelのバグを疑っています。
しかし、私自身、フックのことをよく理解していないため、具体的にどうバグ報告すればよいのかがわかりません……
ltj-latex.sty に
\def\ltj@pkgpatch@@{\AddToHook{env/document/before}[luatexja.autopatch]}
という行がありますが,この記述が適切でなかったのが原因のようです,すみません.
\def\ltj@pkgpatch@@{\AddToHook{begindocument/before}[luatexja.autopatch]}
とする(env/document -> begindocument)とこちらではエラーがなくなりますが,どうでしょうか.ご対応ありがとうございます。
指定箇所を変更したところ、subfilesでもstandaloneでもエラーが出なくなりました。
わからないなりにもこちらで調べていたのですが、\AtEndPreamble{...}に相当する箇所のはずなので、不思議に思っていました。
{document}環境に対するフックだったから、\begin{document}を見つけるたびにフック内容が実行されてしまったのですね。
subfilesが使用できないのは本当に死活問題だったので、本当に助かりました。
新バージョンをリリースするまではオープンにしておきます.
LuaTeX-ja 20201030.0 を出したので,完了とします.
latex revision 56514; l3kernel revision 56556; luatexja 20201001.0;
luatexjaとsubfilesパッケージとの併用でタイプセットに失敗します。 articleを使うだけなら問題は生じません。 ただし、L3 kernelのバグの可能性もあります。
test.tex
\documentclass{article} \usepackage{luatexja} \usepackage{subfiles} \begin{document} \subfile{testsec} \end{document}testsec.tex
\documentclass[test]{subfiles} \begin{document} abc \end{document}