升级xeCJK的悲剧

手贱升级了一下texlive的包,最近要准备一个ppt,准备用beamer来写。测试的时候发现,中文挂掉了,症状是中文都不能显示,升级前用beamer跟xeCJK配合一直很好使。以为是texlive的问题,删掉重新装一下,发现问题依旧。原来简单的测试文件

 1 \documentclass{beamer}
 2 \usepackage{xeCJK}
 3 \setCJKmainfont{SimSun}
 4 \usetheme{Madrid}
 5 \title{周报告}
 6 
 7 \date{\today}
 8 \begin{document}
 9 \frame{\titlepage}
10 \begin{frame}
11 \frametitle{本周项目进展}
12 \end{frame}
13 \end{document}

不能正常工作,仔细检查xelatex的输出以后发现有个warning:

1 *************************************************
2 * xeCJK warning: "CJKfamily-Unknown"
3 * 
4 * Unknown CJK family `\CJKsfdefault' is being ignored.
5 * 
6 * Try to use \setCJKsansfont[...]{...} to define it.
7 *************************************************

可能是xeCJK里面现在\secCJKsansfont需要显示定义,加上以后果然好了,能够通过的代码为

 1 \documentclass{beamer}
 2 \usepackage{xeCJK}
 3 \setCJKmainfont{SimSun}
 4 \setCJKsansfont{SimSun}
 5 \usetheme{Madrid}
 6 \title{周报告}
 7 \date{\today}
 8 \begin{document}
 9 \frame{\titlepage}
10 \begin{frame}
11 \frametitle{本周项目进展}
12 \end{frame}
13 \end{document}

这件事请告诉我们,不要随便升级啊,特别是用的顺手的时候,升级带来的麻烦很不爽。

原文地址:https://www.cnblogs.com/mathlover/p/2847588.html