beamer babel 天城文和无衬线英文

beamer babel 天城文和无衬线英文

我正在尝试设置一个基础文档,以梵文脚本语言作为“主要”语言,并包含一些英语,从而生成幻灯片。我的问题是,我无法在无衬线字体中获得拉丁字母。在这里,我使用 \babelprovide 将 hindi 声明为主要语言,将 english 声明为主要语言。有人能解释一下以下 2 个 \babelfont 实例如何将给定的字体分配给 hindi 或 english 吗?

\documentclass{beamer}
\usetheme{Warsaw}
\usepackage{babel}

\babelprovide[mapdigits,maparabic,import,main]{hindi}
\babelprovide[onchar=ids fonts]{english}
\babelfont{sf}{chandas}
\babelfont{rm}[Language=Default]{FreeSerif}
\defaultfontfeatures{Renderer=Harfbuzz}

\begin{document}
\begin{frame}{प्राथमिकी}
आम्रः

\foreignlanguage{english}{this text in english}

\end{frame}
\end{document}

答案1

默认beamer设置使用 sans 字体主题。使用 serif 字体时,应该明确将主题更改为 serif。以下示例使用fontspecXeLaTeX 包来产生您想要的结果。这是实现您想要的效果的一种方法。我相信还会有其他各种方法可以做到这一点。我正在演示我喜欢的方式。

% !TeX program=xelatex
\documentclass{beamer}
\usefonttheme{serif}% Comment this when using Sans-fonts.
\usetheme{Warsaw}
\usepackage{babel}
\babelprovide[maparabic,import,main]{hindi}
\usepackage{fontspec}
\setmainfont[Script=Devanagari]{Chandas}

\begin{document}
\begin{frame}{प्राथमिकी}{यह पाठ्य देवनागरी लिपि में लिखा है।}
देवदत्तः आम्रफलं खादति।

\foreignlanguage{english}{This text is in English}
\end{frame}
\end{document}

1

相关内容