请选择 进入手机版 | 继续访问电脑版
楼主: janyiyi
3646 7

使用XeTex处理latex中文 [推广有奖]

  • 3关注
  • 17粉丝

讲师

27%

还不是VIP/贵宾

-

威望
0
论坛币
3206 个
通用积分
5056.6800
学术水平
539 点
热心指数
537 点
信用等级
538 点
经验
10157 点
帖子
300
精华
2
在线时间
90 小时
注册时间
2010-10-3
最后登录
2024-4-6

janyiyi 发表于 2017-2-28 18:48:54 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
latex的中文处理一直是一个比较棘手的问题,所以网上关于如何在latex中使用中文的帖子非常的多。原来的办法一直是使用latex-cjk来处理中文。使用cjk字体需要手动的生成pt1的字体。最近改用texlive2007了(感觉这是趋势,tetex已经不更新了),才接触到xetex这个软件包,发现配置和使用起来方便简单,比以前使用cjk少了很多头疼,于是在这里推荐一下,主要目的还是让自己记住这个软件:)
XeTeX的好处是可以直接使用系统中的ttf字体,所以首先在终端中查看一下系统中有哪些中文字体:

    1. $ fc-list :lang=zh-cnAdobe 黑体 Std R,Adobe Heiti Std,Adobe 黑体 Std,Adobe Heiti Std R:style=R,Regular文鼎PL中楷Uni,AR PL ZenKai Uni:style=Medium文鼎PL简报宋,AR PL SungtiL GB:style=Regular... ...
    复制代码





所输出的字体列表中选择自己喜欢的字体名,推荐选择英文那列,比如 “AR PL SungtiL GB”。
/usr/share/texmf-dist/tex/xelatex/ 目录下,新建 zhfontcfg 目录,然后在该目录下创建zhfontcfg.sty 宏包文件,内容如下:


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:LaTeX Late atex TeX ATE 中文

已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
oliyiyi + 640 + 80 + 80 + 80 精彩帖子

总评分: 论坛币 + 640  学术水平 + 80  热心指数 + 80  信用等级 + 80   查看全部评分

nieqiang110 学生认证  发表于 2017-2-28 20:19:16 |显示全部楼层 |坛友微信交流群
楼主:很感兴趣,可是你没有写完。还是等你教我们吧。

使用道具

janyiyi 发表于 2017-2-28 21:57:27 |显示全部楼层 |坛友微信交流群
nieqiang110 发表于 2017-2-28 20:19
楼主:很感兴趣,可是你没有写完。还是等你教我们吧。
  1. % xetex/xelatex 字体设定宏包

  2. \ProvidesPackage{zhfontcfg}
  3. \usepackage{fontspec,xunicode}
  4. \defaultfontfeatures{Mapping=tex-text} %如果没有它,会有一些 tex 特殊字符无法正常使用,比如连字符。

  5. % 中文断行
  6. \XeTeXlinebreaklocale "zh"
  7. \XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt

  8. %将系统字体名映射为逻辑字体名称,主要是为了维护的方便
  9. \newcommand\fontnamehei{SimHei}
  10. \newcommand\fontnamesong{SimSun}
  11. \newcommand\fontnamekai{KaiTi_GB2312}
  12. \newcommand\fontnamemono{Bitstream Vera Sans Mono}
  13. \newcommand\fontnameroman{Bitstream Vera Serif}

  14. %设置文档正文字体为宋体
  15. \setmainfont[BoldFont=\fontnamehei]{\fontnamesong}
  16. \setsansfont[BoldFont=\fontnamehei]{\fontnamekai}
  17. \setmonofont{\fontnamemono}

  18. %楷体
  19. \newfontinstance\KAI{\fontnamekai}
  20. \newcommand{\kai}[1]{{\KAI #1}}

  21. %黑体
  22. \newfontinstance\HEI{\fontnamehei}
  23. \newcommand{\hei}[1]{{\HEI #1}}

  24. %英文
  25. \newfontinstance\ENF{\fontnameroman}
  26. \newcommand{\en}[1]{\,{\ENF #1}\,}
  27. \newcommand{\EN}{\,\ENF\,}
复制代码


在终端执行:
$ sudo mktexlsr

最后在 LaTeX 文稿中,加载该宏包即可:
  1. \usepackage{zhfontcfg}
复制代码

这是一个测试文档:

  1. \documentclass{article}
  2. \usepackage{zhfontcfg}
  3. \begin{document}

  4. 我是\kai{楷体}
  5. 你是\hei{黑体}
  6. 它是\en{Roman font}。

  7. \end{document}
复制代码


已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
oliyiyi + 40 + 5 + 5 + 5 精彩帖子

总评分: 论坛币 + 40  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

使用道具

nieqiang110 学生认证  发表于 2017-3-1 05:46:26 |显示全部楼层 |坛友微信交流群
谢谢楼主

使用道具

nieqiang110 学生认证  发表于 2017-3-1 05:52:42 |显示全部楼层 |坛友微信交流群
谢谢楼主

使用道具

minixi 发表于 2017-4-6 12:29:33 |显示全部楼层 |坛友微信交流群
谢谢分享

使用道具

日永昶 发表于 2018-12-30 19:58:43 |显示全部楼层 |坛友微信交流群
请问,“在终端执行:$ sudo mktexlsr”这一步怎么操作?

使用道具

oliyiyi 发表于 2018-12-31 10:04:14 |显示全部楼层 |坛友微信交流群
一直都在用xelatex

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 07:08