Chinaunix首页 | 论坛 | 博客
  • 博客访问: 188120
  • 博文数量: 74
  • 博客积分: 2521
  • 博客等级: 大尉
  • 技术积分: 730
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-24 08:28
文章分类

全部博文(74)

文章存档

2012年(3)

2011年(14)

2010年(26)

2009年(31)

分类:

2010-01-05 09:59:55

(这条文章已经被阅读了 39424次) 时间:2002年03月21日 11:18 来源:李迎辉 原创-IT

"">

LATEX中文环境使用(Windows)简介

limodou()

2002年03月21日

一、   介绍

LATEX是一种排版语言,它是在 TeX语言上发展起来的一种更加方便、强大的宏命令包。TeX语言本身相当复杂,但 LATEX宏包提供了强大的指令,这样用户使用起来就非常的方便。它并不是一种编辑软件,而是一种指令集,它也是一种语言(排版用的语言)。因此它本身不能实现WYSIWYG(What
you see is what you
get,所见即所得)软件的效果,但它可以实现WYSIWYM(What
you see is what you
mean,所见即所思)的效果。因为它把许多内容都自动化了,如标题、章节编号,自动生成目录、脚注、索引等,你只要关心文章结构即可,大大减轻了排版的工作量。而这些工作在所见即所得的软件中可能非常令人头痛。



之所以我想向大家介绍LATEX的使用,出于以下几个目的:


  1. 文本化。
    LATEX文件可以用任何一种你喜欢的文本编辑器进行编辑,它是文本文件。
    LATEX 文件很小,便于携带。
    而且在国际上,它也越来越流行,我想国内也会慢慢风行起来的。
    在这一点上,我喜欢它还是因为我经常使用CVS版本管理软件对源代码进行管理,但CVS只对文本文件管理得很好,而对于象Word之类的文档,则无能为力。
    如果采用LATEX 来编写文件,则使用CVS管理就方便了。



    同时由于LATEX使用文本文件,这样,在可能的情况下,可以实现将某些信息自动生成LATEX文件,再处理后得到漂亮的文档。

  2. 自动化。
    LATEX可以自动为你做许多事情,最主要的就是它可以自动地对一些内容进行编号,如目录、章节等,而你不用具体关心每个编号是什么,只要指明在此要编号即可。
    而对于某些样式,我们可以在做出模版后不停地进行应用,即保持风格的一致性,又使得我们从繁重的排版工作中解脱出来,只要关心自已的思路就行了。
    这样可以极大的提高工作效率。

  3. 功能强大。
    LATEX提供了非常强大的功能,如公式排版。
    这是它的最大的特点,在国内许多科学出版刊物都用它编版公式。
    你可以用它做出许多漂亮的公式。
    LATEX有许许多多功能各异的宏包可以使用,可以实现非常多的功能。关于这一点在CTeX的主页上面有介绍。
在这篇文章中,我想向大家简单地介绍一下在Windows环境下使用中文LATEX的方法。我要声明,本人不是一个LATEX的专家,这里所讲的是我在学习LATEX的过程中的一些心得体会。希望通过我的介绍,可以让大家了解一下什么是LATEX,以及如何简单地使用它。



LATEX的确不象Word一样,所见即所得,但TeX并不是为一般人所设计的,它追求的是强大的功能和最出色的打印效果,因此,它的命令很多,不便于学习。但正如我介绍它的目的一样,是缘于它的文本化(这是个人看法)。同时,我们可以适当地采用一些宏包来简化我们的工作。在不追求过分华丽的排版效果的前提下,如果只是排版一些文字性的东西,用它并不困难,随着我们对LATEX的深入学习,我们就可以使它越来越漂亮。



本文不想写得非常的长,而是想起到一种引导的作用,同时把我在学习LATEX时遇到的困难以及如何解决的方法告诉大家,因此,整篇文章的意图就是通过一个简单的例子,告诉大家如何做可以在最短的时间内对LATEX有个感性的认识,如何在LATEX中使用中文。这样,许多原理性的东西不会提到,而只有一些如何快速地使用LATEX的一些东西。题目是介绍在Windows下的使用,因为我是在Windows下学习的,当然在Linux下应该是没有问题,只是说某些步骤可能不太相同,但对于生成的文件来说,应该是没有什么区别的。



好了,罗嗦了不少了,下面开始进入正题。





二、   使用前的准备



在正式使用LATEX之间,我们先要有几项工作要做。





2.1   LATEX环境建立



这里给大家介绍Windows下LATEX环境的建立。





  1. 软件下载
    推荐去CTeX下载CTeX 2.0套件。但这个主页对访问的IP有限制,因此建议大家去TeXGuru上去下载。体积大约有49M。这个套件包含了CCT、MikTeX、CJK、WinEdt等内容。

  2. 软件安装
    下载完CTeX套件后,展开到一个临时目录下,然后运行其中的
    setup.exe 即可开始安装。缺省是装在C:\CTEX目录下。安装完毕后,所有的配置应已经设置正确。
这样运行环境已经建立完成,根据要求重启机器。

2.2   还要知道些什么

那么,在开始正式的工作之前,我们还需要知道些什么呢?


  1. LATEX命令格式
    LATEX的命令格式是以反斜线开始(`\')的,后面为一个单词。LATEX保留了十个特殊符号,列在下面:























    字符 $ & % # _ { } ^ ~ \
    表示 \$ \& \% \# \_ \{ \} \^ \~ \backslash


    一个命令一般以第一个空白、大括号或反斜线(`\')之类非字母结束。比如\LaTeX is good中,\LaTeX加上空格才表示一个命令的结束。因此最后的处理结果是LATEX与is之间并没有空格。这样,我们可以加入一个插入空白的命令(\_),\LaTeX\_也可以使用\LaTeX{}的方法。



    下面我们简单地小节一下:





    • \ 命令单词 非字母字符

    • \ 命令单词 { 参数 }

    • \ 命令单词 [ 缺省参数 ] { 参数 }



  2. 文档结构
    LATEX可以生成多种类型的文档,如文章、书籍、报告、书信等格式。这种格式是一开始时指定的,指定后就不可以变化,而且只可以指定一个类型。当选用一种文档类型后,会具有一些已经设置好的结构,如文章中可以分节、小节、目录、参考文献等部分;而书籍则还有章、编等更大的结构。本文只讲述文章的例子。对于文章,最高的结构级别为节(section)。下面还有小节(subsection),小节的小节(subsubsection)。



    文本分段落,在LATEX中,用一个或若干个空行进行段落的分隔。在一段中,空白是由LATEX来自动处理的,即一个空白与多个空白的效果是一样的。这样,我们完全可以每句话后面都有一个回车,只要每行之间不存在空行,那么它们就是一段。
好,下面我们是不是就可以开始了。当然了,但我想先介绍一下如何将一个LATEX文件变成可以阅读的文件格式。





三、   如何处理一个LATEX文件



一个LATEX文件名一般以.tex结束。那么它可以被处理成 .dvi、 .ps和
.pdf文件。而本文的最终目的是将LATEX文件转换成PDF文件。





3.1   使用WinEdt



WinEdt支持多文档编辑,还支持工程的概念。如果我们已经有一个文档或打开了一个文档,那么我们就可以按工具条上相应的转换按钮对文档进行处理。












步骤 操作
1. LATEX > DVI 点击LATEX按钮
2. DVI > PDF 点击dvi2pdf按钮


如果没有问题,可以直接点工具条上的Acrobat Reader按钮进行阅读。





3.2   使用命令行



我喜欢使用命令行,因为这样可以知道一个任务到底是如何完成的。












步骤 操作
1. LATEX > DVI latex 文件名[.tex]
2. DVI > PDF dvipdfm 文件名[.dvi]


如果用命令行,则一定要在文件所在目录下:) 转换成功后,在资源管理器中查看生成的PDF文件即可。注意,如果目标PDF已经打开,则必须先关闭,才可以进行dvipdfm的转换,否则会因为文件正在被使用而出错。


四、   举例说明:一个最简化的使用中文的例子




4.1   一个未使用中文的例子



图是一个最简化的例子(还没有使用中文)。
 
我们逐条进行解释:





















































\documentclass{article} 使用article(文章)布局
\title{Test} 标题
\author{limodou(chatme@263.net)} 作者
\date{2002/03/18} 日期
\begin{document} 文章内容开始
\maketitle 生成标题信息
\section{First} 第一节,题目为First
This is first paragraph. 第一节第一段
  段落分隔
This is second paragraph. 第一节第二段
  段落分隔
\section{Second} 第二节,题目为Second
This is my first Latex book. 第二节第一段
  段落分隔
\subsection{Goal} 第二节的第一小节,题目为Goal
An introduction of \LaTeX 第二节的第一小节第一段
\end{document} 文章结束


那么这应该是一个非常简单的文档了,如果你的要求不高,你可以按照它的样子,只修改标题、作者、日期、每段的标题、和各段的内容即可。



如何使用中文呢?这里给出使用CJK的解决方法。





4.2   使用CJK来输入中文



CJK是LATEX的宏包,专门用来处理中、日、韩文字的。使用它很简单,如图所示。




 
我们把新加的内容进行解释:






























































\documentclass[12pt]{article} 缺省字体为12像素
\usepackage{CJK} 使用CJK包
\title{Test}  
\author{limodou(chatme@263.net)}  
\date{2002/03/18}  
\begin{document}  
\maketitle  
\begin{CJK*}{GBK}{song} 使用CJK环境
\section{第一}  
这是第一段。  
   
\CJKfamily{hei}这是第二段。 使用黑体字
   
\section{第二}  
\CJKfamily{li}这是我的第一本Latex书。 使用隶书
   
\subsection{目标}  
\CJKfamily{fs}\LaTeX 介绍 使用仿宋
\end{CJK*} 结束CJK环境
\end{document}


非常好,我们也可以在LATEX下使用汉字了。要知道,当我成功地编译出来之后是多么的高兴呀。但人总是不满足的,因为这只是一些最基本的东西,而且非常脆弱,如果我改动一点可能就会出错。比如,我想把日期改为``2002年03月18日''呢?



很不幸,日期可能为``20020318'',中间的汉字不见了。如果把标题也改为汉字,则标题中的汉字也不见了。这是怎么回事,难道CJK有bug吗?那么我想告诉你一个使用CJK的原则(个人总结):



hei 永远在\begin{CJK*}{GBK}{song} 贩?\end{CJK*} 环境下使用汉字。



这样,如果我们把下面几行移到CJK环境中去就可以在标题和日期处显示汉字了。




\begin{CJK*}{GBK}{song}
\title{测试}
\author{limodou(chatme@263.net)}
\date{2002年03月18日}
\maketitle
...
\end{CJK*}
这个大家可以作为一个练习。





4.3   排版修饰



如果大家已经学会了上面的简单的小例子,那么你可能会想做得更多。而且细心的人可能会发现,上面的例子中,每节的第一段首行未缩近,这可不符合中国人的习惯。但解决这个问题并不是非常的轻松,因此本文的源文档提供了一个carticle.cls的文件,它可以将每节的第一段首行进行缩近,大家可以直接使用它。但LATEX文档的第一行应改为:




\documentclass{carticle}
还有一个问题。每节的编号现在为数字,可能你想改成中文的:一、二、贩贰⒌鹊取T趺窗臁;褂校?蛭狶ATEX本身是使用英文的,很多地方都是英文单词。如果想自已去实现这一点,那你就要学习更学关于LATEX的指令了,因此本文的源文件中指供了一个LATEX的文件,它可以帮助你完成此事。同时CJK提供了一个将某些英文单词改为中文的GB.cap文件,在本文档的源文件中进行了改动,你也可以使用。调用时:




\CJKcaption{GB}
\input{LCJK}

将这两条语放在CJK环境之下即可。



如果你看到本文的PDF文件格式,你会发现,每页(除了标题页,目录页)都有一个页眉,上面有当前页的节的提示信息和页号。如果实现它呢?可以使用




\pagestyle{headings}
把这条语句加到CJK环境之下。到目前,可能的例子代码为:




\documentclass[12pt]{carticle}
\usepackage{CJK}

\begin{document}
\begin{CJK*}{GBK}{song}
\pagestyle{headings}
\CJKcaption{GB}
\input{LCJK}

\title{测试}
\author{limodou(chatme@263.net)}
\date{2002年03月18日}
\maketitle

\section{第一}
这是第一段。

\CJKfamily{hei}这是第二段。

\section{第二}
\CJKfamily{li}这是我的第一本Latex书。

\subsection{目标}
\CJKfamily{fs}\LaTeX 介绍
\end{CJK*}
\end{document}

图为生成PDF文件后的结果。

 
从图上我们可以看出,节的标号为中文数字,而且是居中了。





4.4   未完的话题



在LATEX中使用中文绝对是一种挑战。为什么这么说呢?因为如果你不小心你就会出错。比如,当我们的内容很多时,可能会有许多的页。象上面,我们使用了页眉,那么非常可能会报错,跟汉字有关的错。但奇怪的是总是最后一页。为什么呢?我在论坛里问过这个问题,也查询了许多的资料,也看了相关的代码(根本没法看,许多的TeX命令都不懂),也无法解决。有人建议使用fancyhdr宏包,说可以解决这个问题。使用后,编译的确不报错了,但最后一页不会有页眉。最后还是看了CJK文档才知道,如果在页眉、页脚出现错误,可能是与汉字环境有关。只要加入\newpage就可以解决。于是在文档最后加入这一命令,果然问题解决。但你不会想到,这一个问题困扰了我多长的时间。因此我才会说,使用中文决对是一个挑战。



但使用LATEX使我感觉到一种新鲜感,虽然路上可能还有困难,克服它是需要勇力的。



本文只讲述了一个很小的例子,与本人遇到的一些问题的解决。你只能把它作为一个最基础的东西来看待。我唯一的希望是,读了它之后,能让你了解LATEX是个什么东西,它能做些什么,还希望你能对其感兴趣。



下面再给大家讲一些我遇到的问题,作为本文的最后结束的内容。许许多多的内容我都没有涉及到,如脚注、列表、表格、数学公式、插入图形、引用等等,这都需要你自已去学习。





4.5   我遇到的其它的问题



这篇文章是我一边学习LATEX一边写出来的。再向大家讲两个我遇到的问题。





  1. 排版超长
    LATEX是可以自动排版的,它可以自动调整单词之间的距离。仔细观察,每行的开始和结束列都对的很整齐。当在一行的最后几列遇到一个超长的单词时,LATEX往往会根据断字的规则,将一个单词断开分成两行。但在中英文混排的情况下,在编译时可能会报告超长的警告。你完全可以将其忽略,但当你浏览结果时,你会发现可能某行超出边限了。我一般是手工断行,即在可以断开的地方增加换行\\。但不知有没有更好的方法。(如果你知道,请来信告诉我。)

  2. 汉字库的使用
    在安装完CTeX 2.0后,我生成了中文的LATEX文件,但当我转成PDF文件后,我发现字体非常模糊。看一看别人的文件,字体非常清晰,非常好看。为什么我的不行呢?于是我去CTeX论坛上查找答案。原来是,只安装CTeX得到的字库是由点阵字体生成的,是Type3字体,因此看不清。(而CCT好象就只能生成点型字体文件。)效果最好的应该是PostScript的Type1字体。怎么得到呢?说是可以通过实用程序gbkfonts生成,但在TeXGuru上已经有Type1字体的下载,于是我下载了,体积有80多M(好大呀!)。安装完后,一用果然不一般。这里要注意,因为它是GBK字体,故CJK环境中的第一个参数一定要为GBK,如果填成GB,则不起作用。你可以在Acrobat Reader中选择文件 >文档信息 >字体 中查看是不是Type1字体。
到此,我想这篇文章应该可以结束了。相关的源文件内容可以去:



上下载。


五、   相关资源




参考资料




薛定宇, LATEX科学文件处理软件入门(修订版), 1997.5

TeXGuru 译, LATEX 2e用户手册, 1999.8.15

王磊 译, Using Import graphics in LATEX 2e, 2000.4.13

CTeX,

TeXGuru,

TeX Home,




现在已经出现了几种针对LATEX的编辑软件,可以实现所见即所得的效果。如Lyx--软件,它已经移植到了Windows上。

是中文LATEX的简称,它是由中国科学院计算数学与科学工程计算研究所的张林波等人对英文版的emTeX进行了汉化的结果。它采用预处理、编译、后处理的方式完成对LATEX文件的转换。这里我们采用CJK的解决方法,对CCT不作介绍。

这是专门用来编辑TeX的编辑器,虽然不是所见即所得的,但功能强大,而且可以允许用户定制菜单按钮。CTeX套件安装完毕后,将在WinEdt上增加对CCT文档(后缀是.cdx)的处理按钮,用户只要点击这个按钮即可完成编译工作。

有的还带有参数,这样参数用大括号(`{}')括起来。有时还可以带缺省参数,用方括号(`[]')括起来。

\_表示空格

只能有回车符,不能有其它的内容。

一个工程可以包含多个文档,这样打开一个工程就同时打开这些文档。注意,使用工程一定要设置主文档(Set Main File),否则你的所有转换工具可能为灰色的。

 

阅读(3253) | 评论(0) | 转发(0) |
0

上一篇:extern

下一篇:LaTeX命令速查手册

给主人留下些什么吧!~~