【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 是一个自动化工具,前端开发者可以使用它来处理常见任务: 搭 ...
随机推荐
- spring cloud报错解决:java.lang.ClassNotFoundException: com.netflix.servo.monitor.Monitors
见鬼的事发生了. 在家里电脑上拿样例代码,运行时OK的.但一到公司电脑,用同样的代码,就会报下面的错误 ===================== Caused by: java.lang.Class ...
- PHP数组转对象,对象转数组
废话不多,直接上代码: <?php class object_array{ //数组转对象 public static function array_to_object($e){ if(gett ...
- UVALive - 7042 The Problem to Make You Happy 博弈
题目大意:给你一个有向图, Bob 和 Alice 在做游戏,每轮他们走一步,当Bob 和 Alice在同一个点或者 Bob无路可走,Bob输,否则Alice输. 思路:因为在Bob赢的时候存在有环的 ...
- zoj 4020 The 18th Zhejiang University Programming Contest Sponsored by TuSimple - G Traffic Light(广搜)
题目链接:The 18th Zhejiang University Programming Contest Sponsored by TuSimple - G Traffic Light 题解: 题意 ...
- python多线程编程(6): 队列同步
原文请看:http://www.cnblogs.com/holbrook/archive/2012/03/15/2398060.html 前面介绍了互斥锁和条件变量解决线程间的同步问题,并使用条件变量 ...
- BZOJ 1026 windy数【数位DP】
1026: [SCOI2009]windy数 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 10142 Solved: 4712[Submit][St ...
- Oracle实例,具体运用
Oracle关键字的使用 使用insert 添加数据: INSERT INTO 表名 VALUES (加入对应的数); COMMIT; INSERT INTO p_emp VALUES('TO ...
- Linux系统运维问题收集
[Q1]如何修改系统时间? #修改成 2016-11-23 11:10:50 A: date -s 11/23/2016 date -s 11:10:50 date -R #查看当前时区和时间 [ ...
- Codeforces 850B
题意: 给出一个序列,两种操作: 1.删除一个数,代价为x 2.给一个数+1,代价为y 求最小代价,使这个序列不为空,且所有的数的gcd>1 n<=5e5,a[i]<=1e6 其实思 ...
- 【并查集】【DFS】搭桥
[codevs1002]搭桥 Description 有一矩形区域的城市中建筑了若干建筑物,如果某两个单元格有一个点相联系,则它们属于同一座建筑物.现在想在这些建筑物之间搭建一些桥梁,其中桥梁只能沿着 ...