投影机中的小写希腊字体存在问题

投影机中的小写希腊字体存在问题

我正在用希腊语编写一个 beamer 演示语言。大写希腊字体显示,小写字体不显示。我正在使用 xelatex。

\documentclass[xelatex]{beamer} 
\usepackage{xgreek} 
\usepackage[polutonikogreek,british]{babel} \usetheme{Warsaw} 
\title{ΜΙΚΡΗ ἱστορία ἑνός ἱστορικοῦ πανεπιστημίου} \subtitle[Short Title]{ΔΙΑΣΗΜΟΙ ἐρευνητές} \author{Dr. Σπυρίδων Καναβός} \institute{Iamblichus} \
date 
\begin{document} 
\begin{frame} 
\titlepage 
\end{frame} 
\end{document} 

答案1

您可以配置 Babel 自动检测希腊文或拉丁文脚本,并为您更改语言(包括字体和连字模式),无需任何额外的\selectlanguage命令\foreignlanguage。在 XeTeX 中:

\documentclass[xelatex]{beamer} 
%\usepackage{xgreek} 
\usepackage[polutonikogreek,british]{babel}
\usepackage[GreekAndCoptic,GreekExtended]{ucharclasses} % For auto-detecting language.

\setDefaultTransitions{\selectlanguage{british}}{\selectlanguage{british}}
\setTransitionTo{GreekAndCoptic}{\selectlanguage{polutonikogreek}}
\setTransitionTo{GreekExtended}{\selectlanguage{polutonikogreek}}

% Load a font family that supports polytonic Greek:
\babelfont{rm}{NewComputerModern10}
\babelfont{sf}{NewComputerModernSans10}
\babelfont{tt}{NewComputerModernMono10}

\usetheme{Warsaw} 
\title{ΜΙΚΡΗ ἱστορία ἑνός ἱστορικοῦ πανεπιστημίου}
\subtitle[Short Title]{ΔΙΑΣΗΜΟΙ ἐρευνητές}
\author{Dr. Σπυρίδων Καναβός}
\institute{Iamblichus}

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

对于其他引擎,请参阅这里的 MWE。

附言

在评论中,您说我使用的字体命令不起作用。实际上,我自己并没有使用完全正确的字体命令,并且它无法正确切换到 New Computer Modern 08 的脚注大小。

NewComputerModern.fontspec文件中或可能在 中存在错误fontspec,导致fontspec无法在要加载的块之外找到默认文件SizeFeatures=。目前,这里有一个简单的解决方法(如果原始方法无效,则可能对您无效)和一个更强大的方法。

简单的解决方法是更改​​为

\babelfont{rm}{CMU Serif}
\babelfont{sf}{CMU Sans Serif}
\babelfont{tt}{CMU Typewriter Text}

或者您选择的任何其他字体,例如 Libertinus Serif/Sans/Mono。

如果 XeTeX 找不到这些名称(或NewComputerModernSans10),则表示您的字体未在fc-cache数据库中正确编入索引。正确的解决方案将因您的操作系统和 TeX 发行版而异。例如,在 Debian 或 Ubuntu Linux 上自定义 TeX Live 安装时,命令如下:sudo ln -s $(kpsewhich texlive-fontconfig.conf) /etc/fonts/conf.d/09-texlive.conf,然后重新运行fc-cache -f -s -v

更可靠的解决方案是使用 等找到配置kpsewhich NewComputerModern.fontspec,将内容复制到您的前言中,然后自己进行必要的修复。这里,即:

\documentclass[xelatex]{beamer} 
%\usepackage{xgreek} 
\usepackage[polutonikogreek,british]{babel}
\usepackage[GreekAndCoptic,GreekExtended]{ucharclasses} % For auto-detecting language.

\setDefaultTransitions{\selectlanguage{british}}{\selectlanguage{british}}
\setTransitionTo{GreekAndCoptic}{\selectlanguage{polutonikogreek}}
\setTransitionTo{GreekExtended}{\selectlanguage{polutonikogreek}}

\usepackage{fontspec}

\defaultfontfeatures[NewComputerModernSans]
   {
    Extension      = .otf ,
    UprightFont=NewCMSans10-Regular,
    SizeFeatures={%
                  {Size= -8, UprightFont=NewCMSans08-Regular,%
                             ItalicFont=NewCMSans08-Oblique,%
                             BoldFont=NewCMSans10-Bold,%
                             BoldItalicFont=NewCMSans10-BoldOblique,%
                             SmallCapsFeatures={Numbers=OldStyle}},
                   {Size= 8, UprightFont=NewCMSans08-Regular,%
                             ItalicFont=NewCMSans08-Oblique,%
                             BoldFont=NewCMSans10-Bold,%
                             BoldItalicFont=NewCMSans10-BoldOblique,%
                             SmallCapsFeatures={Numbers=OldStyle}},
                  {Size= 9-, UprightFont=NewCMSans10-Regular,%
                             ItalicFont=NewCMSans10-Oblique,%
                             BoldFont=NewCMSans10-Bold,%
                             BoldItalicFont=NewCMSans10-BoldOblique,%
                             SmallCapsFeatures={Numbers=OldStyle}}
                             }}

% Load a font family that supports polytonic Greek:
%\babelfont{rm}{NewComputerModern}
\babelfont{sf}{NewComputerModernSans}
%\babelfont{tt}{NewComputerModernMono}

\usetheme{Warsaw} 
\title{ΜΙΚΡΗ ἱστορία ἑνός ἱστορικοῦ πανεπιστημίου}
\subtitle[Short Title]{ΔΙΑΣΗΜΟΙ ἐρευνητές}
\author{Dr. Σπυρίδων Καναβός}
\institute{Iamblichus}

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

UprightFont=该错误的解决方法是下的第一行\defaultfontfeatures

答案2

例子

首先,根据相关问题,由于 beamer 使用 sans 字体,因此在执行(命令,需要包)时,告诉babelsans()要使用哪种字体;其次,对于 xelatex,告诉使用哪种语言(lualatex 可以自动检测脚本并切换字体)。sfpolutonikogreek\babelfontfontspecbabel\selectlanguage{polutonikogreek}

在示例中,我将字体设置为 Noto Sans,但sf如果您发现清晰易读且合适,也可以将字体系列设置为 Noto Serif(或其他字体)。

平均能量损失

\documentclass[xelatex]{beamer} 
\usetheme{Warsaw} 
\usepackage{fontspec}
\usepackage[polutonikogreek,british]{babel} 
\babelfont[polutonikogreek]{sf}{Noto Sams}
\usepackage{xgreek} 
\title{ΜΙΚΡΗ ἱστορία ἑνός ἱστορικοῦ πανεπιστημίου} 
\subtitle[Short Title]{ΔΙΑΣΗΜΟΙ ἐρευνητές} 
\author{Dr. Σπυρίδων Καναβός} \institute{Iamblichus} 
\begin{document} 
\selectlanguage{polutonikogreek}
\begin{frame} 
\titlepage 
\end{frame} 
\end{document} 

相关内容