Latex文档的基本结构如下:
文档类型声明
宏包包含区
自定义命令区(全局设定区)
标题 区
正文区--------正文
|
-----参考文献
将 上述结构翻译成代码即为如下:
%文档类型声明
/documentclass[a4paper,11pt,onecolumn]{article}
% 宏包包含区
/usepackage{CJK}
%自定义命令区(全局设定区)
/renewcommand{/baselinestretch}{1.5} %定义行间距
%标题区
/title{ }
/author{ }
%正文区
/begin{document}
....
/end{document}
=========================================================================================
Latex 中处理中文,需要用一个叫做 CJK 的宏包(宏包就是预先定义了一些命令及格式的一个文档,学过 C 语言的同学都应该了解的)。
CJK是由Werner Lemberg开发的支持中、日、韩、英文字的宏包。CJK的特点是不需要象CCT那样预处理,支持PDFLatex和Type1字体,因此得到越来越多 中国TeXer的喜爱,逐渐成为中文LaTeX的主流。而我提供的那个包里面就已经含有了。(可以毫不夸张地说,几乎所有已经出现的宏包在那个软件包里面 都有自己的位置)
这个宏包通过一个字符映射表,来实现汉字的处理。讲下去就比较深了,这里暂且说到这么多。
下面我就给出一个 处理中文的基本样例。
/documentclass[a4paper]{article}
/usepackage{CJK}
/begin{document}
/begin{CJK*}{GBK}{song}
你 好,世界!
/end{CJK*}
/end{document}
kai(楷书), hei(黑体), xihei(细黑), li(隶书)
===================================================================================
在这里,我要着重强调一下,Linux下的字符编码问题。
现在的Linux基本上都通用UTF-8编码作为其默认编码,这是事实,我们最 好不要去改变它,否则很多程序的字体会出理乱码。但Latex无法支持UTF-8编码(其实可以支持,但是好像要下一个宏包,在我提供的那个里面没有,我 也没用过,不会用)。于是我们后退一步,绕过这个问题。在把文档写好后,只要保存时选定编码就行了。
具体这样来实现:
对 gvim来说,把文档写好后。在命令模式下,输入
set fileencoding=GB18030
如果程序提示 modifiable if off。那么,可以先输入
set modifiable
再输入
set fileencoding=GB18030
就可以保存为GB16030编码的文件了。这样在编译时,才不会出错。
对 gedit来说,把文档写好后,只需要点击保存按钮。就会出现一个保存对话框。如图4 。在此对话框的下面的字符编码中选择GB18030就可以了(没在列表中的话,可以添加)。
由于保存时忘记理性编码而出现编译通不过的 情况经常发生,而且还会感觉莫名奇妙。所以大家在发现编译通不过时,首先就查一下是不是编码问题。
===============================================================================
字符集
文字字符集
数字字符集
环境集
居中
/begin{center}
/end{center}
左 对齐
/begin{flushleft}
/end{flushleft}
右对齐
/begin{flushright}
/end{flushright}
列 举环境
/begin{itemize}
/end{itemize}
/begin{enumerate}
/end{enumerate}
保 持环境
/verb| |
/begin{verbatim}
/end{verbatim}
小页环境
/begin{minipage}{size}
/end{minipage}
诗 歌环境
/begin{verse}
/end{verse}
浮动表格环境
/begin{table}
/end{table}
固 定表格环境
/begin{tabular}
/end{tabular}
浮动图片环境
/begin{figure}
/end{figure}
数 学环境
$ $
$$ $$
/begin{equation}
/end{equation}
/begin{array}
/begin{array}
/begin{eqnarray}
/end{equarray}
10 种字号命令
{/tiny }
{/scriptsize }
{/footnotesize }
{/small }
{/normalsize }
{/large }
{/Large }
{/LARGE }
{/huge }
{/Huge }
英文字体命令
{/rm } 罗马字体
{/bf } 黑体
{/it } 意大利字体
{/sc } 小号大写字体
{/sl } 斜体
{/tt } 打字机字体
{/cal } 花体
{/em } 强调型字体
几种数字的格式
/arabic{}
/roman{}
/Roman{}
/alph{}
/Alph{}
命 令
文献头命令
标题命令
/title{ }
作者命令
/author{ }
日期命令
/date{ }
页注命令
/thanks{}
/footnote{}
章节命令
部分命令
/part{}
章 命令
/chapter{}
节命令
/section{}
/subsection{}
/subsubsection{}
/subsubsubsection{}
附 录命令
/appendix{}
使用上面所说的命令,处理一般的文字文档应该没多大问题了。但是一篇文章中还有三个很重要的部 分:公式,图片,表格现在我们还没法处理。
下面就来讲一讲。
数学格式命令
很多,这里就不写出来了。我提供的资 料中有很多是讲这个的。我这里就举一个例子,让大家见识一下Latex中处理公式的思想。
薛定谔方程
$$i /hbar /frac{/partial}{/partial t}/psi(r,t)
= [-/frac{/hbar^2}{2m}/nabla^2+V(r)]/psi(r,t)$$
此方程效果如图1,怎么样,感觉不错吧。
上面式子中用$$ $$括起来的部分,就是公式的Latex写法。大家肯定吓一跳吧。其实思路很简单,它就是定义了一套规则(如^表示上标,_表示下标,/frac{}{} 表示分数,第一个括号中的是分子,第二个括号中的是分母)和一些特殊字符表示方法,通过这个规则Latex能够实现将一个二维的公式写法化为一维的表达式 写法。这样就便于用文本文件的方式进行存储,并用Latex编译程序进行编译再现。而且这种写法有个好处是很容易扩展。这种思想就需要自己慢慢去体会了。
插 入图片
这个需要详细说明一下。
Latex中只支持*.eps格式的图片。因此在插入时,如果不是.eps格式的文件,则首先要用 GIMP或ImageMagick工具包转换到.eps格式。然后把图片放到与.tex文件同一个目录下。(务必注意,我在初学时就是因为不知道把图片放 在哪里而浪费了一个通宵)
Latex文档中本身并不包含图片,它是在编译时加载图片。而且在加载时,还可以控制图片显示的长度和宽度。
要 在Latex文档中加载图片,必须要包括graphicx宏包。
下面即是典型代码:
/begin{figure}
/begin{center}
/includegraphics[width=10cm,height=6cm] {1.eps}%就在前面括号中写图片名
/renewcommand{/figurename}{图}
/caption{}
/label{}
/end{center}
/end{figure}
这 段代码功能是把名为1.eps的图片调进来,放在浮动图片环境中,并居中放置。
/includegraphics[width=10cm,height=6cm] {1.eps}中的/includegraphics 即为调用图片的命令。[]中的参数用于指定加载图片后图片显示的宽度和高度。
/renewcommand{/figurename} {图}用于将其默认的标号(为figure)改为“图”
/caption{}给这幅图片取一个名字或作一段说明用于显示出来。
/label{} 中也写一个名字用来标明这幅图片,方便前面或后面的交叉引用。
插入表格
插入表格没有图片步骤多,但也要注意一些细节问 题。
/begin{table}
/centering
/renewcommand{/tablename}{表}
/caption{}
/begin{tabular}{|l|l|l|}
/hline
1 & 2 & 3//
/hline
8.2 & 7.8 & 12.7//
75.7 & 152.8 & 249.9//
/hline
/end{tabular}
/end{table}
这 段代码用来生成一个3行3列的浮动表格,并左右置中放置。
/begin{tabular}{|l|l|l|}中的|l|l|l|表示有三列,列 与列之间用竖线隔开(共四根竖线)。
/hline表示画一根横线。
1 & 2 & 3//中,&表示一个单元格与一个单元格的逻辑分隔符。而//则表示换行。
好了,公式,图片,表格大家都见识过了。都有一个初步 的印象了。下面就该自己去使用了,多练一练才会熟悉。