临时记录一下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. mysql多实例的配置(转)

    1.创建多实例的目录: mkdir -p /data/mysql/mysql_3307/{data,tmp,logs} mkdir -p /data/mysql/mysql_3308/{data,tm ...

  2. Google的Guava它Collection升华

    至于Guava这是不是在这里说.一个已被提上一个非常特殊的! 这主要是为了分享Guava对于一些升华处理组.井,不多说了,直接在代码: package com.joyce.guava.bean; /* ...

  3. Android4.0设置接口变更摘要(四)

    为了与你之前,你已经设置了共享Tab风格和Item实现圆角.希望能给有须要的朋友一点点帮助,今天再和大家分享一下用ViewPager实现设置分页,小米和OPPO就是这种设置,先来看看效果图: wate ...

  4. iOS 在TabViewController中的一个ViewController跳转到另一种ViewController

    第一步: #import "AppDelegate.h" 步骤二: 在须要跳转的地方: AppDelegate *appDelegate = (AppDelegate *)[[UI ...

  5. Android使用Activity用作弹出式对话框

    转载请表明出处:http://blog.csdn.net/lmj623565791/article/details/23116115 Android中可用于实现对话框的有Dialog,PopupWin ...

  6. GUIForDebug

    package gui; import org.luaj.vm2.Globals; import org.luaj.vm2.LuaValue; import org.luaj.vm2.ast.Chun ...

  7. WebLogic部署集群和代理服务器

    应公司要求,最近在学习weblogic集群这块的知识,下面我把我这几天学到的,以及过程中遇到的问题及如何解决的,分享给大家.首先,weblogic是Orcale公司的一款产品,至于其作用,我想就不用我 ...

  8. HDU 1069 Monkey and Banana(DP 长方体堆放问题)

    Monkey and Banana Problem Description A group of researchers are designing an experiment to test the ...

  9. 菜鸟版JAVA设计模式-从抽象与实现说桥接模式

    桥接模式,初学的时候事实上非常不理解为什么要把这个模式命名为桥接模式,脑海里突然联想到.事实上我学习是一件比較痛苦的事情,由于我必需要知道来龙去脉才干学的进去,所以,非常快我就对这个命名产生了兴趣,桥 ...

  10. JavaFX横幅类游戏开发 教训 游戏贴图

    上一节课,我们即将完成战旗Demo有了一个大概的了解.教训这,我们将学习绘制游戏地图. 由于JavaFX 2.2中添加了Canvas相关的功能,我们就能够使用Canvas来实现游戏绘制了. 游戏地图绘 ...