最近总有这么几种情况:一、作业很简单,想用Latex敲,但是英语不过硬,用中文吧配中文环境就要配置半天。二、越来越多的朋友问我怎么搞中文输入,我也确实没啥帮助人家的好办法,所以只好自己研究研究怎么配置Latex中文环境了。
先说环境
编译:Ctex包(真的好用,省的配来配去。给链接:http://www.ctex.org/CTeXDownload)
编辑器:Sublime Text 3(但是要安装一个插件:LatexTools)
嗯,在安装ctex的时候就听说这家伙完全支持中文输入,但是一直都没有尝试。今天,我学习了以下方法:
\documentclass{ctexart}
\begin{document}
我靠添加代码居然不支持Latex!
\end{document}
那么现在问题来了,报了这么多错:
这个问题是显然不是语法问题。哥写语法怎么会错。很显然,是编码方式的错,我的Sublime默认编码不是UTF8,所以大概就是这么个错误。
改改看:
\documentclass[UTF8]{ctexart}
\begin{document}
我靠添加代码居然不支持Latex!
\end{document}
成功。(一会再说这个“UTF8”是干啥的)
那么现在问题来了,ctexart到底干啥的呢?
我们用ctexart,ctexrep和ctexbook代替英文文类中的article,report和book就可以在正文中*添加中文。前提是必须要安装了CJK这个宏包。我要怎么看看到底有没有安装呢?
大家去找找这个东西,点开搜一下“CJK”就行了,如果没有的话就去安装一下,很方便的。(但是根据笔者的经验,有的包不FQ好像下载不下来。)
而且可以看到,叫CJK的居然有两个包,我们可以稍后研究研究它是干啥用的。
话说回去昂,ctexart那几个环境相当于是在“\begin{document}”和“\end{document}”之间自动加入CJK环境了。也就是说上面的栗子是与下面的相同的:
\documentclass[UTF8]{article}
\usepackage{ctex}
\begin{document}
我靠添加代码居然不支持Latex!
\end{document}
下面我们看看这个这个这个ctexart文类的选项:
cs4size、c5size:使用小四号、五号为缺省字号(后者为缺省)
GBK、UTF8:使用GBK、UTF8编码(前者为缺省,一开始没改悲剧了。)
winfonts:使用Windows字体,只有六种:宋体,仿宋,黑体,楷体、隶书和幼圆(默认设置)
cap:使用中文的标题样式
nocap:保留英文的标题样式
punct:对中文表点进行调整(宽度)(默认选项)
nopunct:与punct相反
space:使用 CJK 的保留空格模式,保留中文字符间的空格(类似英文的习惯)。你需要自己处理中文字符间的空格以及换行产生的空格(在行尾加上% 符号可以避免),否则排版结果可能不符合中文习惯。这种模式可以通过 \CTEXnospace 转换到 nospace 模式。
nospace:使用 CJK 的忽略空格模式,也就是 CJK* 环境的模式。CJK 会自动忽略中文字符间的空格,比较符合中文习惯。在这种模式下,可以使用 ~ 来分隔中英文字符,产生的间距稍小于普通空格,排版效果比较美观。这种模式可以通过 \CTEXspace 命令转换到 space 模式。这个是 ctex 宏包的缺省模式。
indent:段首空两格
noindent:段首不空格
再看看命令:
字体命令:\songti \heiti \fangsong \kaishu \lishu \youyuan
字号命令:\zihao{字号大小}(有16个选项 0—6,-0—-6,7和8)
字间距命令:\ziju{字宽的倍数}
数字转汉字:\CTEXnumber{result}{number} (这个命令相当于定义了一个新命令,当在使用result定义的命令时,会自动输出number定义的数字的汉字版本。)
\CTEXdigits{result}{number} (与上一条类似,只不过就是变成一位一位的变数字了。)
(举一个栗子:
输出结果就是:
宏包的章节标题设置:\CTEXsetup[<key1>=<value1>,<key2>=<value2>,…]{<type>}
这里比较复杂,暂时就不写了。等到我需要的时候再去研究吧!
参考文献:ctex.pdf
最后向开发人员致以崇高的敬意!(毕竟这是我见到的第一篇中文的Manual,不易不易!)