Beamer+Polyglossia(bidi)+RTL 搭配 xelatex 断脚注叠加

Beamer+Polyglossia(bidi)+RTL 搭配 xelatex 断脚注叠加

我从其他答案中看到(这里这里) 无法 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 语言,则列表右对齐:

在此处输入图片描述

相关内容