【图文】Latex 中文字体的使用

      使用CTex自带编辑器WinEdt,在该环境下如何使用中文字体呢?作为一个菜鸟,折腾了好几天,最终基本解决了这个问题。现在整理下,分享给后来者。

       对于使用中文字体,网上的很多教程是CCT、CJK和TY,不过,CCT已经不建议使用,而CJK、TY这些都已经过时了。而且这些方案中使用的中文字体就那么几种,想使用更多的字体,要单独去安装字体,无法直接调用系统安装的字体,这样无疑会很麻烦。最终网上找到的成熟方案是:XeLaTeX。

一、首先,从头讲起,基于LaTeX2对于字体的调用方式

       {\字体名称 正文内容}
       使用CTex宏包调用的实例:

1.新建文件,键入下面代码

\documentclass{article}
\usepackage{ctex}

\begin{document}

中文宏包测试               \par % "\par"表示回车换号
{\songti   这是宋体的样式} \par
{\heiti    这是黑体的样式} \par
{\fangsong 这是仿宋的样式} \par
{\kaishu   这是楷书的样式} \par
%{\lishu   这是隶书的样式} \par %CTeX的手册中是支持隶书和幼圆的,
%{\youyuan 这是幼圆的样式} \par %但是不知是何原因编译有问题

\end{document}
2.点击保存,这里这里保存类型建议以后一直选择“UTF-8”

注意;保存类型建议以后一直选择“UTF-8”,因为一方面xeCJK格式的汉字字体将无法显示,另一方面, GBK 编码是 ctex 宏包的缺省模式,使用 XeTEX 引擎的情况下总是内部使用 UTF-8 编码,所以不必使用这个选项,但这并不妨碍编写 GBK 编码的文档。

3.选择XeLaTeX编译方式,点击查看


4.效果如下图:

二、基于XeLaTeX的中文字体的使用

       XeLaTeX可以直接调用系统中安装的字体,但是字体的名称并不是我们通常见到的那样,比如:华文隶书 在系统中是“STLiti”。而如何找到这种对于关系呢?

      开始->运行->输入“CMD”,弹出命令窗口:输入:"fc-list",回车,就可以看到系统中所有安装字体的这种对于关系。当然,显示的原因,可能看不全,所有不如把它保存下来,方法是命令窗口中输入:“fc-list>>c:font.txt”(这里假设存入到D盘的font.txt文件下)。

      注意笔者按照网上的两种方法:“fc-list:lang=zh-cn”(查看所有安装的中文字体)或者“fc-list:lang=en”(查看所有安装的英文字体),一直无法查看,在这点上折腾了很长时间。所以,如果你的电脑上可以按这两种方法查看那样最好,如果不能,不妨就用我的方法。当然,如果你搞清楚了其中的原因也欢迎留言。

     现在有了这种对应关系,那么就可以继续了。在导言区对全局的字体进行设置:

        然后便是对于其它字体的设置和使用,需要注意的是指令的名称是可以自己定义的,但是系统字体名称却一定要按照上面查出来了的字体名称


下面是一个完整的例子:

\documentclass{article}
\usepackage{ctex}

\setmainfont{Times New Roman}%设置Times New Roman为默认的英文字体
\setCJKmainfont{SimSun}      %设置宋体为默认的中文字体

%设置要使用的英文字体
%\newfontinstance{\courier}   {Courier}   %使用Courier字体
\newfontinstance{\gramond}   {Garamond}   %使用Garamond字体


%设置要使用的中文字体
\setCJKfamilyfont{mhwxk}{STXingkai} %华文行楷
\newcommand{\stxk}{\CJKfamily{mhwxk}}

\setCJKfamilyfont{hwlsh}{STLiti} %华文隶书
\newcommand{\sthwls}{\CJKfamily{hwlsh}}


\begin{document}
%{\courier This a Courier Style} \par
{\gramond This a Garamond font style} \par
{\stxk   这是华文行楷字体的式样} \par
{\sthwls 这是华文隶书字体的式样} \par
\end{document}

       注意

        1.以上面的程序代码为例,注释掉的部分是使用Courier字体,如果去掉注释,由于我的电脑上没有这样的字体,于是就出来了这样的情况:编译的时候没有错误,却无法生成PDF文件,进而也就无法查看,所以,出现编译没有错误,但是生成不了PDF文件时要考虑是不是本机没有这种字体。这一点一定一定要引起足够的重视!!!

       2.对于系统中查到的字体名称,可能考虑到转义字符原因,有些是不能直接使用的,要把“\”去掉才能正确使用。

例如:系统中查到一种字体:“ FZXiaoBiaoSong\-B05S,方正小标宋简体”如果这样使用就是错误的:

\setCJKfamilyfont{MyCJKfzxbs}{FZXiaoBiaoSong\-B05S} %方正小标宋简体
\newcommand{\fzxbs}{\CJKfamily{MyCJKfzxbs}}
正确的使用方法是要去掉“\”的,下面是正确的示例,注意对比:

\setCJKfamilyfont{MyCJKfzxbs}{FZXiaoBiaoSong-B05S} %方正小标宋简体
\newcommand{\fzxbs}{\CJKfamily{MyCJKfzxbs}}



参考资料:

[1].在xeLaTeX和CTeX中使用本地系统字体的方法

[2].《CTeX宏包说明》


  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值