使用 XeLaTex+ucharclasses+Babel 的 TableOfContents 问题

使用 XeLaTex+ucharclasses+Babel 的 TableOfContents 问题

我想写一篇希腊语-英语文本。我使用的是 babel+XeLaTex。我在目录方面遇到了问题:当我的代码中包含这些行时

\setDefaultTransitions{\selectlanguage{english}}{\selectlanguage{english}}
\setTransitionTo{GreekAndCoptic}{\selectlanguage{greek}} 

它会产生以下错误:

“LaTeX 错误:命令 \rmfamily 在数学模式下无效。output.toc,第 67 行”

并发出警告' \目录 '命令,提及:

软件包 babel 警告:\englishcontentsname 未设置。请在语言加载后(通常在前言中)使用类似:\renewcommand\englishcontentsname{..} 的方式定义它,报告于输入行 23。

在 pdf 中,而不是' 内容 '在目录的开头,它有' ?内容名称? '

以下是 MWE:

\documentclass[12pt]{extarticle}

\usepackage{babel}
\usepackage{ucharclasses}

\babelprovide{greek,english}
\babelfont{rm}[Ligatures={Common,Rare}, Scale=1.0]{Libertinus Serif}
\babelfont{sf}[Ligatures={Common,Rare}]{Libertinus Sans}
\babelfont{tt}{Libertinus Mono}

\babelfont[Language=greek]{rm}{Kerkis}
\babelfont[Language=greek]{sf}{Kerkis}
\babelfont[Language=greek]{tt}{kerkis}

\setDefaultTransitions{\selectlanguage{english}}{\selectlanguage{english}}
\setTransitionTo{GreekAndCoptic}{\selectlanguage{greek}} 

\begin{document}
some text
blabla μπλαμπλα

\newpage
\tableofcontents
\newpage

\section{Introduction-Εισαγωγή}

\subsection{test}

\end{document}

答案1

需要进一步明确您想要实现的目标。

当我将希腊语设为 babel 中的主要语言,并设置过渡字体(将希腊语设为蓝色,以显示哪种字体进入了目录)时,目录就正常了。

希腊文目录

平均能量损失

\documentclass[12pt]{extarticle}
\usepackage{xcolor}
\usepackage{fontspec}
\newfontfamily{\defaultfont}{Noto Serif}
\newfontfamily{\greekfont}{Kerkis}[Colour=blue]
\usepackage[english,greek]{babel}
\usepackage{ucharclasses}
\setDefaultTransitions{\defaultfont}{}
\setTransitionsForGreek{\greekfont}{}
%\babelprovide{greek,english}
%\babelfont{rm}[Ligatures={Common,Rare}, Scale=1.0]{Libertinus Serif}
%\babelfont{sf}[Ligatures={Common,Rare}]{Libertinus Sans}
%\babelfont{tt}{Libertinus Mono}
%
%\babelfont[Language=greek]{rm}{Kerkis}
%\babelfont[Language=greek]{sf}{Kerkis}
%\babelfont[Language=greek]{tt}{kerkis}

%\setDefaultTransitions{\selectlanguage{english}}{\selectlanguage{english}}
%\setTransitionTo{GreekAndCoptic}{\selectlanguage{greek}} 

\begin{document}
some text
blabla μπλαμπλα

\newpage
\tableofcontents
\newpage

\section{Introduction-Εισαγωγή}

\subsection{test}

\end{document}

相关内容