LaTeX 简介

1,这个问题,首先得从TEX介绍起。TEX是斯坦福大学的教授Donald E.Knuth开发的一个功能强大的幕后排版系统。他当时在撰写名为The Art of Computer Programming的书,由于出版商把他书中的数学式子排版得很难看,他决定推迟出版,自行研发一套排版系统进行排版。这个系统就是TEX系统。

LaTeX:
TEX是很低阶的排版语言,对于绝大多数人来说,学起来会很吃力,而且排版工作也会变得相当繁复,难以被更多人使用,效率也不是很高。所以,一些经常用到的功能,如果我们事先定义好,到要用的时候只引用一小段代码就可以实现一个相对复杂的功能,那不仅提高了排版效率,而且版面也会清晰很多。这种事先定义好的功能,叫做宏集(macro)。
LaTeX就是TEX的众多宏集之一,是由Leslie Lamport编写的。编写的目的是使版面设置内容和文档的具体内容尽可能分离,让写文档的人更加专注于文档的撰写,而少花些心思在排版上。所以,LaTeX从本质上讲,就是TEX排版系统的一个宏集,将一些常用到的功能整合为文档类型中的设置,简化了TEX排版的工作量及难度。
TEX的宏集有很多很多,LaTeX是其中比较实用的一个。

CTEX:
CTEX是利用TEX排版系统的CTEX中文套装的简称。它集成了编辑器 、WinEdt和 PostScript处理软件 Ghostscript 和 GSview 等主要工具。 CTeX中文套装在 MiKTeX的基础上增加了对中文的完整支持。 CTeX中文套装支持 CCT 和 CJK 两种中文 TeX处理方式。
一般用windows操作系统的人会选择CTEX中的WinEdt软件作为编写LaTeX文档的工具,因为它里面会将latex命令改变颜色,并且将多种命令都集成到图形界面中,又简化了排版操作。
通常英文排版用Tex Live,中文排版用Ctex。
希望可以帮到想用LaTeX排版又不知从哪下手的同学们~~
再次推荐《大家来学LaTeX》这个入门教程,写得真的很生动详细,参考资料~~

2,Winedt编辑器只能编辑文本,最后的程序编译还是需要调用 LaTeX/TeX 软件。

3,Latex是LeslieLamport写的tex宏,与它类似的有tex,amstex之类的东西
而Ctex不过是基于miktex的一种发行,它里面可以使用tex,latex,amstex或者其他的语法,并且加入了cct中文处理,是这些东西的一个集成


4,简单澄清TeX、LaTeX、TeX Live、TeX Studio这几个概念:

  1. TeX是一种语言,类似于Java和C之类的计算机语言,但是它是为简单的排版操作设计的;
  2. LaTeX是TeX的扩展,又称为宏集,简单说就是TeX的命令太原始了,为了方便作者写作,Leslie Lamport给TeX语言加入了很多新的功能,这些他写的功能跟TeX加在一起被称为LaTeX。LaTeX当然也是一门语言,是基于TeX的一门语言;
  3. TeX Live是一个TeX发行版,它是一组程序的集合,主要作用就是将你写的TeX代码进行解析排版输出成PS或者pdf。“TeX发行版相对于TeX语言”大致可以理解为“C语言编译器(如GCC或Clang)相对于C语言”的关系;
  4. TeX Studio是一个TeX的IDE(集成开发环境),这个跟TeX本身关系不大,比如说最简朴地写TeX的方法是这样的:用记事本打开一个tex文件,一个一个字符敲进去,保存,再用TeX发行版里面带的程序(通常是使用命令行调用)解析这个文件,输出排版结果。最豪华的方式呢?就是用TeX Studio这类IDE,直接敲代码进去,然后按一个键,IDE自动帮你把调用编译加上各种参数的过程都设置好了,一键就可以直接看到排版结果,好的IDE还会有智能代码提示,省时省心。

以上只是简单的介绍,省略了很多细节和概念,比如我们现在经常提及的TeX其实是Plain TeX,Plain TeX是TeX的一个改进;又比如TeX Live不是唯一的TeX发行版,TeX Studio也不是唯一的TeX IDE。TeX Users Group网站上(http://www.tug.org)有更详细严谨的介绍。

ps. 忘记说了,上面第三点开始我就没提到LaTeX了,是因为TeX发行版一般都会同时支持多种格式的TeX,比如Plain TeX、LaTeX、XeLaTeX等等,因此统称为TeX。一般的TeX IDE当然也支持多种TeX格式。


5,CCT
一个简单的老版本 CCT 格式的例子是:
\documentclass{cctart}

\begin{document} \kaishu 这是中文楷体字。 \end{document}\begin{document} \kaishu 这是中文楷体字。 \end{document}


这个例子需要保存为 .ctx 后缀的文件,然后用 cct 命令进行预处理,生成同名 .tex 文件。再用 LATEX 编译,生成的DVI 文件需要 patchdvi 进行处理后才能用 DVI 浏览器进行查看或者用 dvips 转换成PostScript
文件。假设文件名是 test.ctx ,完整的编译过程是:
cct test
latex test
patchdvi -r600x600 -b test.dvi temp.dvi
del test.dvi
ren temp.dvi test.dvi
dvips test
新版的 CCT 除了保留原来的处理方式以外,增加了两种新的处理方式。第一种是用 TEX 的处理来代替原来的 cct.exe的预处理。这种方式的源文件和老的文件相同,但是不用再存成 .ctx 为后缀的文件,也不用 cct命令进行预处理。除此之外,其余和老的处理方式基本相同。
第二种处理方式是采用 CJK 的中文字库,需要在系统中安装好 CJK 字库。与第一种方式的主要区别就
在于去掉了 patchdvi 处理 DVI 文件的需要。使用上,是在 \documentclass 命令中加上参数 CJK。具体的
例子如下:
\documentclass[CJK]{cctart}

\begin{document} \kaishu 这是中文楷体字。 \end{document}\begin{document} \kaishu 这是中文楷体字。 \end{document}


这个例子可以象英文文档一样的编译得到正确的输出。

CJK
在安装好 CJK 的系统中,下面这个例子可以象英文文档一样的编译得到正确的输出:
\documentclass{article}
\usepackage{CJK}

\begin{document} \begin{CJK*}{GBK}{kai} 这是中文楷体字。 \end{CJK*} \end{document}\begin{document} \begin{CJK*}{GBK}{kai} 这是中文楷体字。 \end{CJK*} \end{document}



CTeX
CTeX 宏包提供了一个统一的中文 LATEX 文档框架,底层支持 CCT、CJK 和 xeCJK三种中文 LATEX 系统。ctex宏包提供了编写中文 LATEX 文档常用的一些宏定义和命令。ctex 宏包需要 CCT 系统或者 CJK 宏包或者 xeCJK宏包的支持。主要文件包括ctexart.cls、ctexrep.cls、ctexbook.cls 和ctex.sty、ctexcap.sty。CTeX的源文件编码有三种方式:

  • 使用 CCT 方式处理汉字支持 GBK 文件编码。
  • 使用 CJK 方式处理汉字(latex 或 pdflatex 编译自动选择),支持 GBK 和 UTF-8两种文件编码。缺省的编码是 GBK。可以使用宏包选项 GBK 和 UTF8 进行选择;也可以使用 ctexutf8等宏包名。
  • 使用 xeCJK 方式处理汉字(xelatex 编译自动选择),可以使用 GBK 和 UTF-8 两种文件编码,但只有UTF-8 编码是原生支持的。如果需要使用 GBK 编码,需要在源文档前面增加 XeTeX 原语:
  • \XeTeXinputencoding "GBK"
    
    

与之对应的示例如下:

XeTeX (xeCJK) 模式: (推荐使用的模式)

% 使用 UTF-8 编码
\documentclass{ctexart}
\begin{document}
你好 CTeX 文档类
\end{document}

用 xelatex 编译时会自动使用 XeTeX 相关配置。

传统 CJK 模式:

% 默认使用 GBK 编码,如需要 UTF-8 编码需加 UTF8 选项
\documentclass{ctexart}
\begin{document}
你好~CTeX~文档类
\end{document}

传统 CCT 模式: (不建议使用,仅为个别历史文档保留)

\documentclass[cct]{ctexart}
\begin{document}
你好 CTeX 文档类
\end{document}

猜你喜欢

转载自blog.csdn.net/Jeffxu_lib/article/details/85046101