我有这个示例,其环境位于 TRT pagedir(lualatex 引擎)中,即使环境放置在从左到右的上下文中(使用)@DavidCarlisle,align*
结果也会向右对齐\bodydir TLT \pardir TLT \textdir TLT
\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{amsmath}
\pagedir TRT\bodydir TRT \pardir TRT \textdir TRT
\begin{document}
\begin{align*}
f(x)&=1+\dfrac{1}{x+2}\\
&=1+k(x+2)
\end{align*}
{%
\bodydir TLT \pardir TLT \textdir TLT
\begin{align*}
f(x)&=1+\dfrac{1}{x+2}\\
&=1+k(x+2)
\end{align*}
}
\newpage
\pagedir TLT \bodydir TLT \pardir TLT \textdir TLT
\begin{align*}
f(x)&=1+\dfrac{1}{x+2}\\
&=1+k(x+2)
\end{align*}
\end{document}
答案1
仅凭评论太复杂了,但是:
我刚刚发现这个问题已经解决了这里。我通过使用包etoolbox
来修补命令而不是复制相关宏的整个定义来改进此解决方案。但说实话,我并不完全清楚此修补程序究竟为何有效。
由于我只是完善了他们的答案,并不了解其背后的机制,所以应该给予赞扬用户22486。
\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{amsmath}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\math@cr@@@align}{\fi\ifst@rred}{\else\place@tag\fi\ifst@rred}{}{}
\makeatother
\pagedir TRT \bodydir TRT \pardir TRT \textdir TRT
\begin{document}
Hello
\begin{align*}
f(x)&=1+\dfrac{1}{x+2}\\
&=1+k(x+2)
\end{align*}
Hello
{
\bodydir TLT \pardir TLT \textdir TLT
Hello
\begin{align*}
f(x)&=1+\dfrac{1}{x+2}\\
&=1+k(x+2)
\end{align*}
Hello
}
Hello
\end{document}