【LaTeX】E喵的LaTeX新手入门教程(6)中文
假期玩得有点凶 ._.前情回顾【LaTeX】E喵的LaTeX新手入门教程(1)准备篇
【LaTeX】E喵的LaTeX新手入门教程(2)基础排版
【LaTeX】E喵的LaTeX新手入门教程(3)数学公式
【LaTeX】E喵的LaTeX新手入门教程(4)图表
【LaTeX】E喵的LaTeX新手入门教程(5)参考文献、文档组织先扯一点没啥用的。。。话说呀在高老头发明TeX的时候。。高老头是美国人嘛,自然是本着能用就好的原则,TeX只支持ASCII码。这一代算是第一代TeX程序。而中文编码都是多字节的,所以要想让TeX支持中文的话,唯一的方法是检测一下第一个字节是不是属于中文的,然后再往后读,查表得到输出的文字。基于这个原理,一位德国人搞出了个宏包叫做CJK,就是干这事儿的。嗯看起来很不错的样子,那个年代的人们都喜欢._.嗯到了第二代pdfTeX,对编码的支持仍然没有改观,于是大家还用CJK。然后又过了好久,第三代XeTeX原生支持了Unicode,于是不用分解多字节编码了,而且XeTeX又能读取系统字体,于是就很欢乐了。第四代LuaTeX嘛继承了优良传统,所以我们现在排版中文的话,已经完全用不着CJK宏包了._.XeLaTeX中输出中文XeTeX原生支持Unicode,因此将源文件保存成UTF-8格式就可以了。但是有一点需要注意的是,虽然中文被识别了,但是XeTeX没有默认的中文字体,所以输出的中文都看不见._.为了中文能够显示,我们就得指定一种字体。XeTeX是可以调用系统字体的,但是具体能用哪些,我们得先看一下。查看字体的方法是:fc-list嗯截个图它长这样的._.
在第一个冒号和第二个冒号之间的就是字体名称了,用逗号分隔的,哪个都可以用,比如Adobe Song Std和Adobe 宋体 Std调用的是同一种字体的喵。由于XeTeX原生调用字体的方法比较复杂,这里我们使用XeLaTeX的fontspec和xeCJK宏包来完成XeLaTeX中中英文字体的设定。提示:xeCJK宏包已经包含了fontspec宏包,因此只用xeCJK宏包即可的喵0w0所以我们需要在导言区加一句\usepackage{xeCJK}指定中文字体指定中文字体很简单啦。\setCJKmainfont{字体名}
\setCJKmonofont{字体名}一个设置主字体族,一个设置等宽字体族。如果想使用新的字体族可以用\setCJKfamilyfont{族名}{字体名}它们还有很多丰富的选项,具体可以看文档。。。不过xeCJK是国人写的宏包,所以它的文档是中~文~的喵>//< 一口气看五页,不费劲!指定英文字体\setmainfont{字体名}
\setmonofont{字体名}跟上面似乎一样的说._.由于xeCJK宏包的工作,你可以分别为中文和英文指定不同的字体,十分炫酷的喵。如果我不用XeTeX的话。。那你就杯具了。._.
._.
._.
._.
._.
._.
._.
._.
._.
._.
._.
._.
._.
._.
._.
._.
._.
._.
._.
._.
._.
._.
._.
._.嘛。。通用的解决方案还是有的喵><尾伟大的ctex文档类/宏包xeCJK是只有XeLaTeX才能用的宏包,TeX和pdfTeX表示你这是红果果的歧视啊,你看今年春晚都反歧视了是不,总得搞出个通用的套路才行。于是就有了ctex文档类和宏包的喵(似乎反了,ctex貌似早于XeTeX的喵._.管它呢),只需轻轻一用,从此跨越平台过上xing福生活不是梦想。它的原理是检测一下引擎,如果是XeTeX就用新套路,不是就用老套路的喵,当然做了很多其他工作,具体可以看文档,也是中~文~的喵>//<ctex的使用方法是:
- 使用ctex文档类
- 使用ctex宏包
使用ctex文档类以前我们说过LaTeX内置了一些文档类,像article什么什么的十分好用之类的。有了CTeX你就可以抛弃原来的文档类了._.ctex文档类直接支持中文,只需要用ctex给出的文档类就可以了。article → ctexart
report → ctexrep
book → ctexbook换一换就好了的喵。使用ctex宏包\usepackage{ctex}这还用我说么._.小提示ctex的默认字体是Windows自带的那个坑爹宋体,同时还会用到Windows自带的坑爹黑体和坑爹楷体还有坑爹仿宋体,这些字体是有版权的,所以各大TeX发行版是不带的O//O 因此如果你用Linux,确保安装一下它们的喵。下期预告页面设置,指定一下页边距页眉页脚什么的喵。
from: http://blog.renren.com/share/568351353/17829468862
【LaTeX】E喵的LaTeX新手入门教程(6)中文的更多相关文章
- 【LaTeX】E喵的LaTeX新手入门教程(4)图表
这里说的不是用LaTeX画图,而是插入已经画好的图片..想看画图可以把滚动条拉到底.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础 ...
- 【LaTeX】E喵的LaTeX新手入门教程(5)参考文献、文档组织
这不是最后一篇,明天开始建模所以会从6号开始继续更新.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版 [LaTeX]E喵的La ...
- 【LaTeX】E喵的LaTeX新手入门教程(3)数学公式
昨天熄灯了真是坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版上一期测试答案1.大家一开始想到的肯定是\LaTeX{}er ...
- 【LaTeX】E喵的LaTeX新手入门教程(1)准备篇
昨天熄灯了真是坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版上一期测试答案1.大家一开始想到的肯定是\LaTeX{}er ...
- 【LaTeX】E喵的LaTeX新手入门教程(2)基础排版
换了块硬盘折腾了好久..联想的驱动真坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇文档框架嗯昨天我们已经编写了一个最基本的文档,其内容是这样的:\documentclass{ar ...
- 【LaTeX】E喵的LaTeX新手入门教程(3)
[LaTeX]E喵的LaTeX新手入门教程(3) 数学公式作者: 郭英东.sty 昨天熄灯了真是坑爹.前情回顾 [LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新 ...
- 安卓自动化测试(2)Robotium环境搭建与新手入门教程
Robotium环境搭建与新手入门教程 准备工具:Robotium资料下载 知识准备: java基础知识,如基本的数据结构.语法结构.类.继承等 对Android系统较为熟悉,了解四大组件,会编写简单 ...
- Xorboot-UEFI新手入门教程
Xorboot-UEFI新手入门教程 Xorboot-UEFI是一款UEFI下轻量级的图形化多系统引导程序,pauly于2014年国庆节期间发布了预览版.搜了下论坛,关于Xorboot- ...
- gulp的使用以及Gulp新手入门教程
Gulp新手入门教程 原文 http://w3ctrain.com/2015/12/22/gulp-for-beginners/ Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务: 搭 ...
随机推荐
- Jmeter接口测试示例
如果是Web,需要使用badboy进行录制,今天讲的是接口,因此可以不用录制. (1)新建测试计划 (2)添加http请求默认值 (3)添加http信息头管理器 (4)添加token的正则表达式:&q ...
- zookeeper编程入门系列之zookeeper实现分布式进程监控和分布式共享锁(图文详解)
本博文的主要内容有 一.zookeeper编程入门系列之利用zookeeper的临时节点的特性来监控程序是否还在运行 二.zookeeper编程入门系列之zookeeper实现分布式进程监控 三. ...
- 很好用的谷歌字体以及Gravatar头像一键替换WordPress插件----WP Acceleration for China 插件
WordPress总是被新上手的朋友诟病说速度慢,其实多半都要归功于谷歌字体的功劳.在应对字体这个问题的时候,大家都会有各种不同的解决方案.今天我给大家推荐一款插件,它集合了多个替代方案,可以方便的替 ...
- AC日记——[Sdoi2010]粟粟的书架 bzoj 1926
1926 思路: 主席树+二分水题: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 500005 #defi ...
- AC日记——[SDOI2009]HH的项链 洛谷 P1972
[SDOI2009]HH的项链 思路: 莫队: 代码: #include <bits/stdc++.h> #define maxn 100005 #define maxm 400005 # ...
- Openstack 云主机深入了解 (十六)
一)云主机深入了解 1.云主机在计算节点以进程方式运行 2.监听vnc的端口,vnc默认端口从5900开始, 多台云主机,端口递增 3.云主机桥接网卡,与宿主机联通网络 提示:在openstack环境 ...
- 对TDD原则的理解
1,在编写好失败的单元测试之前,不要编写任何产品代码 如果不先写测试,那么各个函数就会耦合在一起,最后变得无法测试 如果后写测试,你也许能对大块大块的代码进行测试,但是无法对每个函数进行测 ...
- python判断一个对象是可迭代?
1.介绍一下如何判断一个对象是可迭代的? 通过collections模块的Iterable类型判断: >>> from collections import Iterable > ...
- thinkphp之自动完成
1.自动完成 自动完成是ThinkPHP提供用来完成数据自动处理和过滤的方法,使用create方法创建数据对象的时候会自动完成数据处理. 因此,在ThinkPHP使用create方法来创建数据对象是 ...
- NBUT 1223 Friends number
暴力,打表. 计算出每一个数的因子之和,可以枚举$i$,让后将$i$的倍数都加上$i$.发现这样的只有$71$对,然后暴力就可以了. #include<cstdio> #include&l ...