我从其他答案中看到(这里和这里) 无法 bidi
与RTL 语言polyglossia
很好地兼容beamer
。这确实是一个例子。但是,我很好奇是否有解决办法。
当我包含 RTL 语言时,使用 进行编译时脚注覆盖似乎会中断xelatex
。这是一个 MWE:
\documentclass[
ignorenonframetext,
]{beamer}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{ifxetex,ifluatex}
\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\usetheme[]{metropolis}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage[variant=us]{english}
\setotherlanguage{hebrew}
\usepackage[url=false]{biblatex}
\begin{document}
\begin{frame}{Test}
This is some text.\footnote<.->{This is a footnote}
\end{frame}
\end{document}
这是一个 MWE,所以假装我需要覆盖。
仅包含 就会\setotherlanguage{hebrew}
在使用 编译时破坏脚注覆盖xelatex
。这是生成的内容:
如果你注释掉这一行,一切就正常了:
有没有简单的方法可以解决这个问题?
更新:
正如@samcarter_is_at_topanswers.xyz 在评论中指出的那样,这适用于lualatex
。但是,lualatex
似乎对列表和 RTL 做了一些奇怪的事情(正如@udi-fogiel 在评论中指出的那样)。这是一个 MWE:
\documentclass[
ignorenonframetext,
]{beamer}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{ifxetex,ifluatex}
\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\usetheme[]{metropolis}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage[variant=us]{english}
\setotherlanguage{hebrew}
\newfontfamily\hebrewfontsf[Script=Hebrew,Contextuals=Alternate,Ligatures=Required,ItalicFont={SBL Hebrew}]{SBL Hebrew}
\usepackage[url=false]{biblatex}
\begin{document}
\begin{frame}{Test}
\begin{itemize}
\item This is some text.\footnote<.->{This is a footnote}
\pause
\item \texthebrew{בְ} - this should not be right justified
\pause
\item But \texthebrew{בְ} should also be left justified
\end{itemize}
\end{frame}
\end{document}
使用 进行编译时lualatex
,结果如下,如果首字母是 RTL 语言,则列表右对齐: