我制作了一个包含一些阿拉伯语单词的演示文稿,我使用了多语言,但以下代码给出了错误Package polyglossia Error: The current roman font does not contain the Arabic script!(polyglossia) define \arabicfont with \newfontfamily.
经过搜索,我发现这是多语症的一个错误。如何解决这个问题?!
\documentclass[10pt]{beamer}
\usetheme[progressbar=frametitle]{metropolis}
\usepackage{appendixnumberbeamer}
\usepackage{booktabs}
\usepackage[scale=2]{ccicons}
\usepackage{pgfplots}
\usepgfplotslibrary{dateplot}
\usepackage{xspace}
\newcommand{\themename}{\textbf{\textsc{metropolis}}\xspace}
% For Arabic
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{arabic}
% Defining the font family
\newfontfamily\arabicfont[Script=Arabic, Scale=1.3]{Scheherazade}
\begin{document}
% First Slide :(
\begin{frame}[fragile]{A Section!}
Hello \textarabic{مرحبا}
\end{frame}
\end{document}
答案1
我不认为这是一个错误,beamer
只是使用无衬线字体,所以你必须定义\arabicfontsf
而不仅仅是\arabicfont
。
我没有您的特殊字体,因此我在以下 MWE 中替换了它。您必须检查您想要的字体是否也有无衬线版本。
% !TeX TS-program = xelatex
\documentclass[10pt]{beamer}
\usetheme[progressbar=frametitle]{metropolis}
\usepackage{appendixnumberbeamer}
\usepackage{booktabs}
\usepackage[scale=2]{ccicons}
\usepackage{pgfplots}
\usepgfplotslibrary{dateplot}
\usepackage{xspace}
\newcommand{\themename}{\textbf{\textsc{metropolis}}\xspace}
% For Arabic
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{arabic}
% Defining the font family
\newfontfamily\arabicfont[Script=Arabic,Scale=1]{Times New Roman}%
\newfontfamily\arabicfontsf[Script=Arabic,Scale=1]{Times New Roman}%
\begin{document}
% First Slide :(
\begin{frame}[fragile]{A Section!}
Hello \textarabic{مرحبا}
\end{frame}
\end{document}