我正在使用 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}