最近总有这么几种情况:一、作业很简单,想用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,不易不易!)

【Latex】怎么写中文?的更多相关文章

  1. Latex 环境下“中文字体”的使用

    Latex 环境下“中文字体”的使用 使用CTex自带编辑器WinEdt,在该环境下如何使用中文字体呢?作为一个菜鸟,折腾了好几天,最终基本解决了这个问题.现在整理下,分享给后来者. 对于使用中文字体 ...

  2. 使用 WinEdt 来写中文文章or 建模论文

    找了几乎两个小时…… 后来发现… WinEdt 是可以用来写中文文章的…而并非只能英文文章或演示文稿… \documentclass{article} \usepackage{CJK} \begin{ ...

  3. 解决python中write()函数向文件中写中文时出现乱码的问题

    今天看<python编程从入门到实践>的第10章文件.异常,在做练习的时候,向文件中写内容,但是写中文就不行,后来在百度上查了众多资料,解决方法如下: 解决:在open()函数中添加一个e ...

  4. 用LyX写中文幻灯片

    虽然在虚拟机装了texlive以备使用,但是在不动CTeX的情况下,是否能使用LyX写中文幻灯片呢.网上只是寥寥几篇大神们在Linux用LyX的博文. 最近把论文交完写幻灯片,于是也把这个想法尝试了一 ...

  5. python 在图像上写中文字体 (python write Chinese in image)

    本人处理图像的时候经常使用opencv的包,但是 cv2.putText 显示不了中文,所以查找了如何在python在图像上写中文的方法,在伟大的Stack Overflow上面找到一个方法,分享给大 ...

  6. latex之在windows环境下能够在latex中使用中文

    今天要把前段时间的实验用英语先记录下来,自己就想根据原来会议的模版弄一个简易的页面(英语),突然想到之前用英文模板时是不能输入中文的,于是想着怎么在latex中输入中文,折腾了许久,终于成功了,现在分 ...

  7. 怎样在LaTeX中使用中文

    因为疫情在家中上课,作业提交都必须使用PDF.反正时间充裕,不如趁机回顾一下LaTeX的使用. 之前一直用的是Vimtex,但是感觉还是不太方便,于是改用了Texpad.Texpad的强大之处在于它支 ...

  8. latex ctex 的section不能写中文, /href

    问题描述:再使用超链接 /href 后发现section{}不能写入中文,以前是好使的,经过查询验证,需要在引导区里加入 \hypersetup{CJKbookmarks=true} 即可恢复正常.

  9. Travis-CI与Latex构建开源中文PDF

    博主有一本开源书籍,用 latex 排版,托管在Github上.但用 latex 不像是 Markdown,当tex文本更新时,用于最终浏览的PDF文件很难得到及时的更新, 所以博主一直想找到一套工具 ...

随机推荐

  1. centos下部署redis服务环境的操作记录

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主 ...

  2. SecureCRT7.3和SecureFX7.3的MAC下破解

    破解脚本:http://files.cnblogs.com/files/jieyuefeng/SecureCRTFX_mac_crack.zip 破解方法: sudo perl ~/Downloads ...

  3. asdasd

    adasdasd asdasd asdasd asd

  4. es6新特性:

    http://es6katas.org/ es6+一些新特性,截图如下 对应方法,函数显示相关的数据,如图: 对应方法,函数的例子,如下

  5. maven 命令小记

    mvn help:system mvn clean compile mvn clean test                            测试 mvn clean package     ...

  6. Javascript:DOM表格操作

    需求说明: /* *需求说明: *获取元素:tBodies,tHead,tFoot,rows,cells *表格的创建 *数据添加 *隔行变色 *删除操作,剩余表格重新计算,实现隔行变色 */ HTM ...

  7. [nagios监控] NRPE: Unable to read output 的原因及排除

    nrpe被监控端运行定义命令正常,监控端运行 #/usr/local/nagios/libexec/check_nrpe -H 117.121.9.200 -c check_oracle_tables ...

  8. Android两种 旋转Bitmap方法

    方法1. 利用Bitmap.createBitmap Bitmap adjustPhotoRotation(Bitmap bm, final int orientationDegree) {      ...

  9. MySQL数据库的双向加密方式

    如果你正在运行使用MySQL的Web应用程序,那么你把密码或者其他敏感信息保存在应用程序里的机会就很大.保护这些数据免受或者窥探者的获取 是一个令人关注的重要问题,因为您既不能让未经授权的人员使用或者 ...

  10. AlwaysON同步过程

    <SQL Server 2012实施与管理实战指南>中指AlwaysON同步过程如下: 任何一个SQL Server里都有个叫Log Writer的线程,当任何一个SQL用户提交一个数据修 ...