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