我将工作文档从 pdfLaTeX 切换到 XeLaTeX。字体有问题,因为现在 Computer Modern Roman 无法显示粗体、斜体和小型大写字母(如果我说的话,它只能在一页中显示\usefont{T1}{cmr}{m}{n}\selectfont
)。
例如在我的图片标题中,我在序言中已经说过labelfont={sc,color=blue}, textfont={small,it}, labelsep=endash
除了 it 和 sc 之外什么都可以正常工作。并且\textit
,,在所有文档中\textbf
都\textsc
不起作用:
这是一个 MWE:
%%Classe du document
\documentclass[11pt,oneside]{book}
\usepackage[labelfont={sc,color=blue}, textfont={small,it}, labelsep=endash]{caption}
\usepackage{subcaption}
\usepackage[cm-default]{fontspec}
\usepackage{xunicode}
\DeclareTextCommandDefault{\nobreakspace}{\leavevmode\nobreak\ }
%%Pour insérer des images
\usepackage{graphicx}
%%Le document est en français
\usepackage{polyglossia}
\setdefaultlanguage{french}
\usepackage{cmlgc}
\begin{document}
{\huge\textsc{Sans la liberté de blâmer, il n'est point d'éloge flatteur. }}
\begin{figure}
\includegraphics{image.png}
\caption{Beaumarchais}
\end{figure}
\end{document}
答案1
看起来 cmlgc 包与 xetex 使用的 Unicode 字体不兼容,如果我删除它,字体警告就会消失,并且您会得到小写字母的输出
\documentclass[11pt,oneside]{book}
\usepackage[labelfont={sc,color=blue}, textfont={small,it}, labelsep=endash]{caption}
\usepackage{subcaption}
\usepackage{fontspec}
\DeclareTextCommandDefault{\nobreakspace}{\leavevmode\nobreak\ }
%%Pour insérer des images
\usepackage{graphicx}
%%Le document est en français
\usepackage{polyglossia}
\setdefaultlanguage{french}
%\usepackage{cmlgc}
\begin{document}
{\huge\textsc{Sans la liberté de blâmer, il n'est point d'éloge flatteur. }}
\begin{figure}
\includegraphics{image.png}
\caption{Beaumarchais}
\end{figure}
\end{document}