Linux: archlinux
直接用pacman安装的latex。现在问题是我修改了ctex-xecjk-winfont.def以将WIndows下的字体名改为Linux下的。(我没有复制Windows下的字体过来)
然后我把它改成了如下:
% ctex-xecjk-winfonts.def: Windows 的 xeCJK 字体设置,默认为六种中易字体
% vim:ft=tex
\setCJKmainfont[BoldFont={文泉驿微米黑},ItalicFont={文鼎PL新中楷}]
{文鼎PL新宋}
\setCJKsansfont{文泉驿微米黑}
\setCJKmonofont{文鼎PL新中楷}
\setCJKfamilyfont{zhsong}{文鼎PL新宋}
\setCJKfamilyfont{zhhei}{文泉驿微米黑}
\setCJKfamilyfont{zhkai}{文鼎PL新中楷}
\setCJKfamilyfont{zhfs}{文鼎PL新中楷}
% \setCJKfamilyfont{zhli}{LiSu}
% \setCJKfamilyfont{zhyou}{YouYuan}
\newcommand*{\songti}{\CJKfamily{zhsong}} % 宋体
\newcommand*{\heiti}{\CJKfamily{zhhei}} % 黑体
\newcommand*{\kaishu}{\CJKfamily{zhkai}} % 楷书
\newcommand*{\fangsong}{\CJKfamily{zhfs}} % 仿宋
% \newcommand*{\lishu}{\CJKfamily{zhli}} % 隶书
% \newcommand*{\youyuan}{\CJKfamily{zhyou}} % 幼圆
\endinput
额,为什么仿宋被我拿新宋体顶上去了其实我是忘记装了不过不要在意这些细节了。。。
这些字体名都是用fc-list找的应该没有错的说,英文的字体名我也试过了,同样不行。
然后我编译这个:
\documentclass[12pt,a4paper]{ctexart}
\usepackage{fontspec, xunicode}
\begin{document}
\heiti
\section{举例}
\begin{verbatim}
标点。
\end{verbatim}
汉字Chinese数学$x=y$空格
\end{document}
下面刷出来:
*************************************************
* fontspec warning: "script-not-exist-latn"
*
* Font '文泉驿微米黑' does not contain script 'CJK'.
* 'Latin' script used instead.
*************************************************
*************************************************
* fontspec warning: "script-not-exist"
*
* Font '文鼎PL新中楷' does not contain script 'CJK'.
*************************************************
编译出的PDF文件只有句号和英文、公式正常。中文完全不显示。
这是什么原因,字体肯定是有的,什么叫做“does not contain script 'CJK'” 为什么要包含脚本CJK?
字体名称错误
可以使用
fc-list :lang=zh-cn
查看所有中文字体详细设置可以看这个: ubuntu下latex终极安装方案的字体部分=D