align 环境没有以 lualatex 为中心吗?

align 环境没有以 lualatex 为中心吗?

这是我之前的一个后续问题问题我遇到了tikz箭头(特别是witharrows使用 的包tikz)与 结合的问题polyglossiaxelatex尽管文档配置为希伯来语(一种 RTL 语言),但箭头旁边的文本以 LTR 方式生成,导致文本反转。

一位用户在评论中表示,问题与编译器有关,xelatex因为他在使用 进行编译时没有遇到任何问题lualatex。我尝试切换编译器,确实解决了问题,文本也正确呈现了。但是,出现了一个新问题,我希望有人能帮助解决。

每当我使用常规align*环境时,它都会amsmath打印lualatex在页面的右侧,而不是像大多数数学方程式那样打印在页面的中心。以下是输出的图片相同的代码编译一次xelatex

并且有一次lualatex 正如您所看到的,xelatex我得到了上一个问题中描述的问题,其中希伯来语文本在环境中的箭头旁边是反转的DispWithArrows*,而lualatex常规环境的内容align*是右对齐而不是居中。

为什么 的align*行为与 不同lualatex?我该如何像正常情况一样将其居中?xelatexlualatex之间还有其他明显的差异吗?输出代码,尤其是 RTL 文档,我应该注意什么?我一直在使用,xelatex现在正在考虑lualatex在这次体验之后改用。我还听说(如果我错了请纠正我)它lualatex建立在之上pdflatex,所以它的行为应该与它类似,如果我没记错的话,大多数不处理非英语文档的人都会使用它。

生成上述图片的代码:

% !TeX spellcheck = he_HE
\documentclass{article}

\usepackage{amsmath}
\usepackage{witharrows}

% Font and language settings
\usepackage[no-math]{fontspec}
\usepackage{polyglossia}

\newfontfamily\hebrewfont[
    Script=Hebrew,
    ItalicFont=*-Regular,
    ItalicFeatures={FakeSlant=0.3},
]{Assistant}

\setmainlanguage{hebrew}
\setotherlanguage{english}
\setsansfont{Assistant}
\setmonofont{Assistant}

\WithArrowsOptions{displaystyle}
\tikzset{
    WithArrows/arrow/.append style = {
        font = \selectlanguage{hebrew},
    }
}

\begin{document}
דוגמה לחישוב:
\begin{DispWithArrows*}
A &= (a + b)^2 \Arrow{נפתח את הסוגריים בביטוי} \\
&= a^2 + 2ab + b^2
\end{DispWithArrows*}
דוגמה נוספת:
\begin{align*}
A &= (a + b)^2\\
&= a^2 + 2ab + b^2
\end{align*}
\end{document}

我正在使用字体助手

相关内容