プリミティブの再定義の前にロードしたいパッケージ
「プリミティブの再定義の前にパッケージをロードしたい」場合に対応する、なんらかのインターフェイス
まだコードはなんにも書いていませんが,例えばこんな感じのインターフェースが考えられるでしょうか.
- \makeatletter
- \def\ltj@stop@overwrite@primitive{\vadjust\unhbox\unvcopy}
- % \vadjust, \unhbox, \unvcopy の LuaTeX-ja での再定義を抑止する
- % LuaTeX-ja 版の定義は \ltj@@vadjust など「ltj@@」つき制御綴に保存
- \usepackage{luatexja}
- ...
- \ltj@overwrite@primitive{\vadjust\unhbox\/}
- % \vadjust, \unhbox, \/ を LuaTeX-ja 版の定義で置き換える
- % \AtBeginDocument{\ltj@overwrite@primitive{\ltj@stop@overwrite@primitive}}
- % みたいな使い方も許容したい
20210517.0 を出しましたので,完了とします.
のようにすればうまくいくはずです.
LuaTeX-jaでは複数のプリミティブを再定義しています。
一方、数式の自動改行を行う{breqn}パッケージではvadjustプリミティブを用いています。
LuaTeX-jaのロード、たとえばltjsarticleの後に\usepackage{breqn}と書くと、「プリミティブが……」とエラーになってしまいます。
今はltjsarticleのロード前に\RequirePackage{breqn}と書くことでエラーを回避できています。
(まったく悪影響がないかはまだわかっていません)
このように、「プリミティブの再定義の前にパッケージをロードしたい」場合に対応する、なんらかのインターフェイスを検討していただけないでしょうか。