最近总有这么几种情况:一、作业很简单,想用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. jquery1.7.2的源码分析(六)基本功能

    jQuery.fn.extend({ attr: function( name, value ) { return jQuery.access( this, jQuery.attr, name, va ...

  2. ORACLE REFERENCES FRO TEST

    [JSU]LJDragon's Oracle course notes In the first semester, junior year Oracle考前复习 试题结构分析: 1.选择题2x10, ...

  3. cavium octeon 处理器启动总线Bootbus 简介

    cavium octeon 处理器启动总线Bootbus 简介: 韩大卫@吉林师范大学 Boot-bus(启动总线)是cavium octeon处理器的一种用于启动系统的硬件. CPU通过boot b ...

  4. LaTeX笔记

    1.上下标: $x^n$, $x^{123}$, $x_n$, $x_{123}$, $C_n^m$, $C_{100}^{50}$ $x^n$, $x^{123}$, $x_n$, $x_{123} ...

  5. UVAlive 6131 dp+斜率优化

    这道题和06年论文<从一类单调性问题看算法的优化>第一道例题很相似. 题意:给出n个矿的重量和位置,这些矿石只能从上往下运送,现在要在这些地方建造m个heap,要使得,sigma距离*重量 ...

  6. CH BR8(小学生放假了-clock()/CLOCKS_PER_SEC-斜率优化常错集锦)

    小学生放假了 总时限 26s 内存限制 256MB 出题人 zsyzzsoft 提交情况 16/150 初始分值 1500 锁定情况 背景 我们能见到的最可怕的事情,莫过于小学生放假了! 描述 小学生 ...

  7. 数据视化Echarts+百度地图API实现市县区级下钻

    开始 这两天公司有个页面需要做数据可视化的展示,数据视化采用的是Echarts+百度地图API做展示,需要用到县级区级下钻的一个联动效果发现网上关于Echarts做到县区级下钻的资料很少,有的话也不是 ...

  8. Angular.js中的$injector服务

    一 .angular中的依赖注入 angular的一个很重要的特性就是依赖注入,可以分开理解这4个字. 1.依赖: angular里面的依赖,有angular默认提供的,也有我们自己添加的.默认提供的 ...

  9. c - 逆序/正序输出每位.

    #include <stdio.h> #include <math.h> /* 判断一个正整数的位数,并按正序,逆序输出他们的位. */ int invert(int); vo ...

  10. ORA-02447: cannot defer a constraint that is not deferrable

    一个constraint如果被定义成deferrable那么这个constraints可以在deferred和imediate两种状态相互转换. deferred只在transaction中有效,也就 ...