解决Font shape `TU/ptm/m/n‘ undefined (Font)的问题 -- Latex

环境

Document Class: ctexbook 2019/05/29 v2.4.16
TexStudio + Texlive 2019
Win10

\documentclass[12pt,openright,a4paper,AutoFakeBold,twoside]{ctexbook} %在双面(twoside)环境下,openright使得每个新章节从奇数页开始
\usepackage[CJKbookmarks]{hyperref}
\usepackage{shortvrb,indentfirst,ulem,makeidx}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage[numbers,sort&compress]{natbib}
\usepackage{geometry}

\usepackage{times}
\usepackage{fontspec}
\usepackage{CJKfntef}
\usepackage{caption}
\usepackage{titletoc}

\begin{document}
...
\end{document}

问题

在上述环境下用Xelatex编译文档提示
Warning: Font shape 'TU/ptm/m/n' undefined(Font) using 'TU/lmr/m/n' instead on input line 9

解决方法

起初根据[1] 尝试了添加\usepackage[OT1]{fontenc},发现上述关于ptm字体的问题并没有得到解决,还会提示LaTeX Warning: Font shape declaration has incorrect series value 'mc'.,但是可以解决中英混合内容的加粗与斜体不起作用的问题。

继续查找发现,根据[2, 3]所述可以通过\setmainfont{TeX Gyre Termes} 解决关于ptm字体的问题,同时也替代\usepackage[OT1]{fontenc}解决字体加粗和斜体不起作用的问题。最终改为如下内容:

\documentclass[12pt,openright,a4paper,AutoFakeBold,twoside]{ctexbook} %在双面(twoside)环境下,openright使得每个新章节从奇数页开始
\usepackage[CJKbookmarks]{hyperref}
\usepackage{shortvrb,indentfirst,ulem,makeidx}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage[numbers,sort&compress]{natbib}
\usepackage{geometry}

\usepackage{times}
\usepackage{fontspec}
\setmainfont{TeX Gyre Termes} %新增的
\usepackage{CJKfntef}
\usepackage{caption}
\usepackage{titletoc}

\begin{document}
...
\end{document}

参考

[1] Latex Font Warning after updating to TeXlive 2016

[2] xelatex编译器lstlings环境下代码字体失效,关键字,标识符,注释等都没法加粗,倾斜?

[3] Still want to use “ptm” in XeLaTeX

你可能感兴趣的:(Latex,latex,ctex)