临时记录一下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. 入门git

    入门git   0x01前言 既然没有华丽的出场,那就平凡的分享,首先我要说明一点本篇文章针对Git初学者,对我自己学Git的资源的整合,其实本篇索引应该在我写Git系列文章的时候就紧跟着放上索引的, ...

  2. 【原创】poj ----- 1611 The Suspects 解题报告

    题目地址: http://poj.org/problem?id=1611 题目内容: The Suspects Time Limit: 1000MS   Memory Limit: 20000K To ...

  3. delphi webbrowser 经常使用的演示样本

    var Form : IHTMLFormElement ; D:IHTMLDocument2 ; begin with WebBrowser1 do begin D := Document as IH ...

  4. php定时运行任务(windows7)

    1:自己写的php档,下面是我的一些php档 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzE2MDAyNA==/font/5a6L5L2T/f ...

  5. Xamarin.Android 入门实例(3)之呼叫电话号码

    1.Main.axml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...

  6. 制作简易计算器处理过程Servlet

    CalculationServlet.java: package com.you.servlet; import java.io.IOException; import java.io.PrintWr ...

  7. Storm具体的解释(二)、成为第一Storm申请书

         在全面介绍Storm之前,我们首先通过简单的Demo让我们来看看什么是整体感觉Storm. Storm执行模式: 本地模式(Local Mode): 即Topology(相当于一个任务,兴许 ...

  8. 怎么样cocos2d-x正在使用ECS(实体-包裹-制)建筑方法来开发一款游戏?

    简介 在我的博客,我翻译的几篇文章ECS文章.这些文章都是从Game Development站点.假设你对这个架构方式还不是非常了解的话.欢迎阅读理解 组件-实体-系统和实现 组件-实体-系统. 我发 ...

  9. linux---Vim命令集

    Vim命令集 命令历史 以:和/开头的命令都有历史纪录,能够首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗体中输入下面命令就可以 vim 直接启动vim vim filena ...

  10. web.xmlf多ilter在执行顺序

    1.随着url-pattern路配置filter请务必先实施servlet-name路配置filter    2.随着url-partern路配置filter于.,按web.xml于filter-ma ...