RTL 语言中 Beamer 覆盖规范的奇怪行为

RTL 语言中 Beamer 覆盖规范的奇怪行为

[<+->]在这个非常简单的 MWE 从右到左投影仪演示中,著名的覆盖规范未能按预期工作。

平均能量损失

\documentclass[12pt]{beamer}

\usepackage{polyglossia}
\setmainlanguage[numerals=mashriq,abjadjimnotail=true]{arabic} % Polyglossia package for more options
\setotherlanguages{english}
\newfontfamily\arabicfont[Script=Arabic,Mapping=arabicdigits,Ligatures=TeX]{Simplified Arabic}
\setsansfont[Script=Arabic,Mapping=arabicdigits,Ligatures=TeX]{Simplified Arabic} % Bold sans used for sections
\newfontfamily\englishfont{Arial}

\setbeamertemplate{frametitle}[default][right]
\usetheme{Frankfurt} 
\setbeamercovered{transparent}
\title{مثال توضيحي}

\begin{document}
\begin{frame}
  \titlepage%
\end{frame}

\section{مقدمة}
\begin{frame}
  \frametitle{الشريحة الاولى}

  \begin{enumerate}[<+->]
    \raggedleft%
  \item هنا النقطة الاولى
  \item الثانية حيث اكتب ١، ٢، ٣، ٤، ٥
  \item الثالثة والاخيرة
  \end{enumerate}
\end{frame}  
\end{document}

输出

在此处输入图片描述

在第一个覆盖中,到目前为止,第一个项目处于活动状态,第二个项目处于非活动状态,这很好,但第三个项目的文本和项目符号应该与第二个项目一样处于非活动状态。在这种情况下,只有项目符号处于非活动状态,而文本则处于非活动状态。

通过第二次覆盖,第二项按预期变为活动状态。

最后,在第三个叠加层上,第三个项目项目符号(而不是文本)变为活动状态,文本从一开始就已处于活动状态。所以您能帮我修复这个异常行为吗?

答案1

您需要在列表的最后一项后添加换行符,此问题仅在从右到左的上下文中产生(我不知道是什么原因造成的)

\documentclass[12pt]{beamer}

\usepackage{polyglossia}
\setmainlanguage[numerals=mashriq,abjadjimnotail=true]{arabic} % Polyglossia package for more options
\setotherlanguages{english}
\newfontfamily\arabicfont[Script=Arabic,Mapping=arabicdigits,Ligatures=TeX]{Simplified Arabic}
\setsansfont[Script=Arabic,Mapping=arabicdigits,Ligatures=TeX]{Simplified Arabic} % Bold sans used for sections
\newfontfamily\englishfont{Arial}

\setbeamertemplate{frametitle}[default][right]
\usetheme{Frankfurt} 
\setbeamercovered{transparent}
\title{مثال توضيحي}

\begin{document}
\begin{frame}
  \titlepage%
\end{frame}


\section{مقدمة}
\begin{frame}
  \frametitle{الشريحة الاولى}

  \begin{enumerate}[<+->]
   \raggedleft%     
  \item هنا النقطة الاولى
  \item الثانية حيث اكتب ١، ٢، ٣، ٤، ٥
  \item الثالثة والاخيرة

  \end{enumerate}

  \begin{itemize}[<+->]
   \raggedleft%     
  \item هنا النقطة الاولى
  \item الثانية حيث اكتب ١، ٢، ٣، ٤، ٥
  \item الثالثة والاخيرة

  \end{itemize}
\end{frame}  
\end{document}

相关内容