我正在处理XeLaTeX
使用自定义字体的文档memoir
。我遇到了奇怪的行为,在插入分页符(手动或通过 TeX)时,引用了未定义的文本形状 - TU/(0)/m/it
。理论上,文档应该TU/[Cantarell-Regular.otf](0)/m/it
在需要该系列和形状的情况下使用。直到第一章中的分页符时才会引用该形状。在此点之前的分页符(例如分隔标题页和目录的分页符)不会出现此行为。
作为参考,这里是该文件本身的序言。
\documentclass{memoir}
\usepackage[svgnames]{xcolor}
\usepackage[section]{placeins}
\usepackage{fontspec}
\usepackage{xltxtra}
\setmainfont[
BoldFont={[Cantarell-Bold.otf]},
ItalicFont={[Cantarell-Oblique.otf]},
BoldItalicFont={[Cantarell-BoldOblique.otf]}
]{[Cantarell-Regular.otf]}
\setsansfont[
BoldFont={[Cantarell-Bold.otf]},
ItalicFont={[Cantarell-Oblique.otf]},
BoldItalicFont={[Cantarell-BoldOblique.otf]}
]{[Cantarell-Regular.otf]}
\usepackage{hyperref}
\hypersetup{
hidelinks,
colorlinks=false,
linktoc=all,
}
\usepackage{tabularx}
\newcolumntype{Z}{>{\ttfamily} X}
\newcolumntype{V}{>{\raggedleft\ttfamily} X}
\newcolumntype{L}{>{\ttfamily} l}
\newcolumntype{R}{>{\ttfamily} r}
\newcolumntype{C}{>{\ttfamily} c}
此外,错误消息由XeLaTeX
[2] [3]
! No declaration for shape TU/(0)/m/it.
sub@sfcnt ...e forspace shapespace mandatory@arg }
error@fontshape else #1{Fo...
l.134 \end{document}
?
! Emergency stop.
sub@sfcnt ...e forspace shapespace mandatory@arg }
error@fontshape else #1{Fo...
l.134 \end{document}
我已经测试并重现了这个问题,除了那些便于使用的软件包之外,没有使用其他软件包\setmainfont
。您可以想象,我对问题所在感到十分困惑。也许如果我知道问题的实际原因,我就可以解决它,但它似乎来自文档类。我首先猜测罪魁祸首是来自的页眉memoir
。