不得不先赞一下现在texlive在linux上的安装已经非常方便了,刚更新2012不久
发现在2011就中一直困扰的ctex包中文字体问题还是没有解决,只好自己动手了
错误信息如下:
[shell]
Invalid fontname `[SIMKAI.TTF]/ICU’, contains ‘[‘
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: “font-not-found”
!
! The font “[SIMKAI.TTF]” cannot be found.
!
! See the fontspec documentation for further information.
!
! For immediate help type H <return>.
!………………………………………..
[/shell]
错误说的很清楚,字体名错误,字体找不到
解决方法如下:
修改ctex-xecjk-winfonts.def
Texlive 2012下的相对路径为 /texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def
如果是默认安装位置,完整路径应为 /usr/local/texlive/2012/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def
原始文件如下:
[tex]
% ctex-xecjk-winfonts.def: Windows 的 xeCJK 字体设置,默认为六种中易字体
% vim:ft=tex
\setCJKmainfont[BoldFont={SimHei},ItalicFont={[SIMKAI.TTF]}]
{SimSun}
\setCJKsansfont{SimHei}
\setCJKmonofont{[SIMFANG.TTF]}
\setCJKfamilyfont{zhsong}{SimSun}
\setCJKfamilyfont{zhhei}{SimHei}
\setCJKfamilyfont{zhkai}{[SIMKAI.TTF]}
\setCJKfamilyfont{zhfs}{[SIMFANG.TTF]}
% \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
[/tex]
其中带中括号的字体名都是需要修改的,这时需运行
[shell]
fc-list :lang=zh-cn
[/shell]
来查看系统中的中文字体,记下楷体和仿宋对应的名称,即显示信息中第一个英文
在我的系统中楷体是 KaiTi,仿宋是 FangSong
不过会因为安装的字体版本不同而有所差异
接下来只要将对应的字体修改即可,即
把[SIMKAI.TTF]修改为KaiTi
把[SIMFANG.TTF]修改为FangSong
需要注意不止一处
vim下的替换命令
[shell]
:%s/\[SIMKAI.TTF\]/KaiTi/g
:%s/\[SIMFANG.TTF\]/FangSong/g
[/shell]
其他一些废话:
如果自己安装过ctex包(可能安装在了texmf-local目录下),一定要删去
另一个解决方案是使用Adobe的字体,调用ctex包时增加adobefonts参数即可
关于ctex包这个错误的原因开发者在这里已经说的很清楚,也就不再赘述。
虽然作者不推荐修改,但是确实没有找到更方便的解决办法。欢迎讨论交流。
8 responses to “Linux下Texlive的ctex包中文字体问题”
您好,问下你使用的代码高亮插件叫什么名字?感觉很棒。谢谢~
忘记感谢了,照着你的文章解决了我的问题!
@northcamel 插件名字是 Crayon Syntax Highlighter
很高兴我的文字能对你有帮助
谢谢!~特别是Crayon Syntax Highlighter太惊艳啦!~
终于编译LaTeX通过了。。。
在这里留言 暗示我开始写毕设论文了
@francischan God bless you!
我也来凑个热闹~