如果 RTL 语言没有 tikz 包、xelatex 引擎,beamer 中的框架为空

如果 RTL 语言没有 tikz 包、xelatex 引擎,beamer 中的框架为空

我不明白为什么使用这个 MWE,投影仪演示的所有组件都没有显示(实际上是空帧)

\documentclass{beamer}
%\usepackage{tikz}
\usepackage{polyglossia}
\setdefaultlanguage[numerals=maghrib]{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic]{Amiri}
\newfontfamily\arabicfontsf[Script=Arabic]{Amiri}

\title{\textenglish{Title of presentation}}
\date{\today}

\begin{document}

\begin{frame}
\maketitle
\end{frame}

\end{document}

如果我们添加tikz包,我们会获得令人满意的输出,这只有当我们将 RTL(从右到左)语言定义为主要语言时才会发生。

在我们获得%之前移除标志时\usepackage{tikz}

在此处输入图片描述

有人能解释一下为什么会发生这种情况吗,谢谢。

答案1

这是因为版本(小于或等于 18.3)的bidi软件包检查了如果pgf软件包被加载,那么bidi软件包会修改pgfpicture环境;这就是用途tikzpicture。但是,beamer加载pgfcore软件包,因此bidi软件包更改未应用。

18.4在软件包版本中,对和软件包bidi进行了一些改进;软件包现在检查文件(其中定义)是否正确,并相应地更改定义。因此,使用您的最小示例(不加载软件包):pgftikzbidipgfcorescopes.code.texpgfpicturetikz

\documentclass{beamer}
\usepackage{polyglossia}
\setdefaultlanguage[numerals=maghrib]{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic]{Times New Roman}
\newfontfamily\arabicfontsf[Script=Arabic]{Times New Roman}

\title{\textenglish{Title of presentation}}
\date{\today}

\begin{document}

\begin{frame}
\maketitle
\end{frame}

\end{document}

您将获得以下输出:

在此处输入图片描述

与您自己的图像完全相同(字体除外)。

相关内容