临时记录一下XeTeX的中文解决方案。一些包的文档只是走马观花得到的解决方法,所以可能有诸多纰漏。

另个人还是比较看好LuaTeX,但是在里边鼓捣中文还是一团糟,等探索一下再回来补充。

我使用的包是xeCJK, 推荐的调用方法是

\usepackage[LocalConfig=name]{xeCJK}

  

其中的LocalConfig=name表示在搜索路径中寻找名为"xeCJK-name.cfg"的配置文件。这样就可以复用关于中文自体的配置了。

在xeCJK中写有:

使用TeX Live的用户, 可以新建下列目录, 然后再把xeCJK-<name>.cfg放在里面:
      texlive/texmf-local/tex/xelatex/xecjk
最后还需要在命令行下执行mktexlsr,刷新文件名数据库以便TeX系统能找到它。

问题在于在类Linux系统中, 一般不会把文件写到~以外的地方的。关于在~应该放在那里,现在能从安装sty的guide里得到点提示。我直接把相关的命令扔在这里好了,有时间搞清楚了再整理~ 可以看出来的是TeX Live有些特别的环境变量。

kpsewhich -var-value=TEXMFHOME

texhash `kpsewhich -var-value=TEXMFHOME`

  

  

xeCJK的文档有几个奇怪的地方:复制中文出来的时候是乱码。虽然这间接实现了保护内容的作用,但是鉴于复制英文没有问题这显然是个bug,况且也有违开源精神,(⊙_⊙)有时间再看看神马情况、

OK 回归正题。xeCJK设置字体有两个常用的命令:

\setCJKmainfont{KaiTi}
\newCJKfontfamily[hei]\heiti{SimHei}

  详细解释看文档, 简要的说明是第一行设定默认的CJK字体, 第二行实际上定义了一个新的 \heiti, 可以改变当前环境的字体为SimHei。两点说明:

为了实现\textbf \emph, 对应的字体family要有Bold & Italic face, 但是很多中文字体实际上是没有这些face的,那么xeCJK提供了两个选项

AutoFakeBold=true, AutoFakeSlant=true

  来实现一个“伪”粗体和斜体。

但是中文环境中用该字体加粗和斜体是很难看的(至少我这么认为)。通常的做法是用黑体表示“加粗”来实现“重点”的作用。那么其实可以这样:

\setCJKmainfont[BoldFont=SimHei]{KaiTi}

  OK 相信不用解释了。

另外提到的第二个命令,个人实际上不推荐。LaTeX的思想更多的是按逻辑组织文档而不是dive into design,所以我一般会尽量避免在文档中出现直接控制排版的语句。遇到这样的需要我会首先考虑是不是我的文档组织或者逻辑的问题。

XeTeX中文解决方案(temp)的更多相关文章

  1. encodeURIComponent编码后java后台的解码 (AJAX中文解决方案)

    encodeURIComponent编码后java后台的解码 (AJAX中文解决方案) 同学的毕业设计出现JavaScript用encodeURIComponentt编码后无法再后台解码的问题. 原来 ...

  2. EasyUI的DataGrid 分页栏英文改中文解决方案

    (一)分页栏英文改中文解决方案 这个问题其实很简单,就是引入文件jquery-easyui-1.3/locale/easyui-lang-zh_CN.js . 注意这个文件要放在本页js的后面,放在最 ...

  3. CactiEZ中文解决方案和使用教程

    CactiEZ中文版是最简单有效的Cacti中文解决方案,整合Spine,RRDTool和美化字体.集成Thold,Monitor,Syslog,Weathermap,Realtime,Errorim ...

  4. pdf文件之itextpdf插入html内容以及中文解决方案

    简述 目前网上已经有很多种html文件直接转pdf的技术帖子,但是很少有直接将部分html作为段落插入到pdf中,而且也没有一个可以很好的解决中文显示的问题. 因此今天上午围绕这个问题进行了研究,把解 ...

  5. cmd无法输入中文解决方案

    1.regedit 2.选中HKEY_CURRENT_USER-Console,找到LoadConIme,双击,设置值为1,十六进制 3.此时应该已经ok了.如还不行,看一下%systemroot%\ ...

  6. tcpdf中文解决方案

    步骤如下:1.确保你测试tcpdf能正常输出英文内容的pdf2.测试输入中文内容后显示是?的乱码或者空白分析原因,是因为我们输入的中文,tcpdf字体库并不支持,因此乱码或者空白显示 添加一个合适的字 ...

  7. OSG 中文解决方案 【转】

    概述 本文只限于 windows 环境下. OSG 在 windows 下对中文支持已经非常的好了,但是可能很多人并不知道如何去正确的使用.为了解决这些常见的问题,还有一些基础知识的普及.特此把 OS ...

  8. 最简单 iText 的 PDF 生成方案(含中文解决方案)HTML 转为 PDF

    转自:http://my.oschina.net/sanji/blog/277704 最近正好项目有用到 ITEXT ,在网络上搜索了一番,发现了很多方案,但是感觉对于一般开发来说都太复杂了,本文提供 ...

  9. python爬虫url带中文解决方案之一

    import urllib2 urllib2.quote("呵呵哒") #输出 '%BA%C7%BA%C7%DF%D5'

随机推荐

  1. css3仿山猫侧边栏

    演示:http://jsfiddle.net/Adce2/ 其主要思想: 1, 先画边栏html. 2, 使用css3分别财产close sidebar-content动图片. 3, 使用css3的k ...

  2. 将php分页类YII绑定框架,就需要改变风格的基础

    分页类http://blog.csdn.net/buyingfei8888/article/details/40260127 在内部组件分页类 文件名和一致 组件是在什么地方被载入进来的?在主配置文件 ...

  3. [转载][NAS] 使用win8的“存储池”功能~

    之前自己用DQ77KB搭建一个小存储系统(帖子链接:http://www.chiphell.com/thread-567753-1-1.html),一直使用intel主板带的软RAID功能构建RAID ...

  4. hdu 4308 Saving Princess claire_ BFS

    为了准备算法考试刷的,想明确一点即可,全部的传送门相当于一个点,当遇到一个传送门的时候,把全部的传送门都压入队列进行搜索 贴代码: #include <iostream> #include ...

  5. Nginx——事件驱动机制(雷霆追风问题,负载均衡)

    事件处理框架 所有的worker进程都在ngx_worker_process_cycle方法中循环处理事件,处理分发事件则在ngx_worker_process_cycle方法中调用ngx_proce ...

  6. MYSQL IFNULL使用功能

    稍后的MYSQL IFNULL使用此功能的特定叙事,供大家参考学习,假设你MYSQL IFNULL条款的使用功能类别遇到似问题.最好看. MYSQL IFNULL(expr1,expr2)       ...

  7. U菜1G变化8M该解决方案

    我有一个大小1G纽曼U菜,不幸中毒一年前,格式化后你刚刚离开8M该.然后不再格式正确. 尽管只有8M,但始终我觉得扔了可惜.曾经,它已被搁置.昨天突然心血来潮,我们决定尝试.活马医.想不到最后居然被我 ...

  8. MongoDB学习笔记-维护

    主从复制 MongoDB有主从复制技术,解决高可用和容灾问题,也就是备份. 配置主从的特点: N 个节点的集群 任何节点可作为主节点 所有写入操作都在主节点上 自动故障转移 自动恢复 数据分布式存储 ...

  9. 升级到tomcat8时Artifact SpringMvcDemo:war exploded: Server is not connected. Deploy is not

    The method getDispatcherType() is undefined for the type HttpServletRequest 升级到tomcat8 http://segmen ...

  10. Android - 支持不同的设备 - 支持不同的平台版本

    在最新版本的Android为app提供很好的新API时,也应该继续支持旧版本的Android直到大部分设备已经更新了.这里将要介绍如何在使用最新API带来的优点的同时继续支持老版本. Dashboar ...