使用带有 Neo Euler 字体的 classicthesis 时,itemize 中的项目符号消失,并且 microtype 警告“字符槽数未知”

使用带有 Neo Euler 字体的 classicthesis 时,itemize 中的项目符号消失,并且 microtype 警告“字符槽数未知”

我正在使用 classicthesis v4.6 和 XeLaTeX。默认情况下,该eulermath选项无用,如注释中所述classicthesis.sty

因为没有 OpenType Euler 字体……

因此我手动添加了\setmathfont[math-style=upright]{Neo Euler}我的序言,并下载了字体这里(虽然它被标记为“废弃”,但我仍然使用它,因为似乎没有更好的解决方案)。突然出现了多个Unknown slot number of character错误。虽然我可以通过以下方式让这些警告消失

\def\MT@warn@unknown{}

存在一个问题:itemize 的项目符号消失了。我该如何修复?

这是 MWE。

% !TEX TS-program = xelatex
\documentclass{article}

\RequirePackage[eulerchapternumbers,eulermath,style=arsclassica]{classicthesis}

\setmathfont[math-style=upright]{Neo Euler}

% \makeatletter
% \def\MT@warn@unknown{}
% \makeatother

\begin{document}

\begin{itemize}
    \item Hello % The bullet is gone!
    \item World
\end{itemize}

$a+b=c$

\end{document}

答案1

我建议您在序言中添加以下说明,指令\setmathfont

\usepackage{enumitem}
\setlist[itemize,1]{label=\textcolor{halfgray}{\textbullet}}

classicthesis包加载xcolor包(依次定义\textcolor)并定义颜色halfgray

如果由于某种原因您无法加载该enumitem包,我建议您在序言中添加以下指令:

\renewcommand\labelitemi{\textcolor{halfgray}{\textbullet}}

通过上述任何一项添加,您的 MWE 都会为列表生成以下输出itemize

在此处输入图片描述

\setmathfont在我看来,这与完全省略指令所产生的结果没有区别。

答案2

可以通过mt-NeoEuler.cfg在工作目录中创建一个名为的文件来删除烦人的警告,该文件包含

\ProvidesFile{mt-NeoEuler.cfg}
\DeclareCharacterInheritance{encoding=TU,family=NeoEuler}{}

有关子弹的问题是由于 中的错误定义造成的classicthesis-arsclassica.sty,这已经

\renewcommand\labelitemi{\color{CTsemi}$\bullet$}

而不是正确的

\renewcommand\labelitemi{\textcolor{CTsemi}{\textbullet}}

使用固定的重定义。

\begin{filecontents}{mt-NeoEuler.cfg}
\ProvidesFile{mt-NeoEuler.cfg}
\DeclareCharacterInheritance{encoding=TU,family=NeoEuler}{}
\end{filecontents}

\documentclass{book}
\usepackage{unicode-math}
\usepackage[eulerchapternumbers,eulermath,style=arsclassica]{classicthesis}

\setmainfont{TeX Gyre Pagella}
\setsansfont{Iwona}
\setmathfont[math-style=upright]{Neo Euler}

\renewcommand\labelitemi{\textcolor{CTsemi}{\textbullet}}

\begin{document}

\begin{itemize}
    \item Hello
    \item World
\end{itemize}

$a+b=c$

\end{document}

在此处输入图片描述

相关内容