lltjp-unicode-math.sty により,
> \leq=macro:
->\ifmmode ≤\else {\directlua {tex.globaldefs=0}\ltj@allalchar ≤}\fi .
なんですが,align 環境の & の直後は数式モードと判定されないみたいで,それがこの挙動の原因でしょうか.
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
a&=b\\
&\ifmmode m\else n\fi\\ % => n
&{}\ifmmode m\else n\fi % => m
\end{align*}
\end{document}
ググってみたら関連の QA を見つけました: Re: 行頭での \ifmmode
lltjp-unicode-math.sty の \ifmmode の前に \relax を入れれば解決でしょうか.手元で試した限りではうまくいっているみたいです.
commit daafe93 で上記修正を入れてみました.何か不具合があればお願いします.
治っているので完了とします.
以下のようなコードで,luatexja が読み込まれていると \le, \ge, \simeq などの位置が意図通りに揃いません(少し左にずれます). 右側の文字とのアキもおかしいみたいです.
\documentclass{article} \usepackage{amsmath,unicode-math} \setmathfont{XITSMath} \usepackage{luatexja} \begin{document} \begin{align*} a&=b\\ &\le d\\ &\ge e\\ &\simeq f\\ &<g \end{align*} \end{document}なお,\documentclass{article} \usepackage{amsmath,unicode-math} \setmathfont{XITSMath} \usepackage{luatexja} \begin{document} \begin{align*} a&=b\\ &{}\le d\\ &{}\ge e\\ &{}\simeq f\\ &<g \end{align*} \end{document}だと意図通りになっているように見えます.