除了原来的TeX程序之外,后来很多人对TeX进行了扩展。首先是eTeX,然后在eTeX的基础上,Hn Th Thnh设计了可以直接输出PDF格式的pdfTeX。不过,pdfTeX 程序还保留了输出DVI 格式的能力,因此现在很多输出DVI 格式的命令内部也使用了pdfTeX 程序。 pdfTeX 的后继者是LuaTeX,一个结合了脚本语言Lua 和TeX 的程序。 eTeX的另一个发展是XeTex程序,它将中间层DVI格式扩展为更强大的xdv格式。它通常直接调用dvipdfmx的后继者xdvipdfmx,直接输出PDF格式。 LuaTeX和XeTex都将TeX原本支持的ACSII编码改为UTF-8编码,可以更方便地使用各种字体。 TeX 程序和这些扩展通常被称为不同的TeX 引擎。
不同的引擎可以编译不同格式的文档,例如Plain TeX、LATeX或ConTeXt,并且不同的组合使用不同的命令。
引擎: 命令: 格式Plain TeXLaTexConTeXt 输出TeX/eTeXtex/etex 不支持DVIpdfTeXtexlatex 不支持DVIpdfTeXpdftexpdflatexexecPDFxeTexxetexxelatex 特殊参数PDFLuaTexluatexlualatexcontextPDF 使用Latex 和pdflatex 命令格式处理中文时使用CJK 宏包机制,而xelatex 使用新的xeCJ K宏包装机制。从功能上来说,xelatex是最方便的,尤其是在处理中文时;并且用pdflatex编译时,一些宏包有更好的兼容性。
2. Hello LaTex
documentclass{文章}
开始{文档}
你好乳胶
end{document}对于中文,使用ctexart文档类型可以支持:
documentclass[UTF8]{ctexart}
开始{文档}
你好LaTeX
end{document}UTF8表示中文使用的编码,对应.tex文本文档保存编码格式。
编译
pdflatex demo.tex
3. 基本文章框架
documentclass[UTF8]{ctexart}
title{勾股定理杂谈}
作者{张三}
日期{今天}
参考书目风格{普通}
开始{文档}
maketitle
目录
section{古代毕达哥拉斯定理}
section{现代形式的毕达哥拉斯定理}
参考书目{数学}
end{document}bibliographystyle 声明参考文献的格式
maketitle 输出标题,包括三个元素: title,author,date
tableofcontents输出目录
bibliographystyle{math} 提示TeX 从文献数据库math 中获取文献信息并输出参考文献列表
begin{document} 之前的部分称为序言。序言通常用于对文档的性质进行一些设置或者自定义一些命令。
注意,这里要生成目录,至少需要编译两次,让LaTex有机会读取整篇论文来计算目录结构。
4. 正文内容
4.1 换行与空格
有几点需要注意。
使用空行进行分段。单个换行不会导致新的文本段落,而只会使源代码更具可读性。而且,空行只是起到分段段落的作用,使用很多空行并不会增加段落之间的间距;段落前不需要输入空格,LaTex会自动完成文本的缩进;通常,汉字后面的空格会被忽略,其他空格也会被忽略。保留符号后面的空格。单个换行符相当于一个空格,因此可以将大块源代码安全地分成短行。空格仅用于分隔单词或符号;使用许多空格不会增加单词之间的间距。使用xelatex编译文档时,ctexart文档类会调用xeCJK宏包来自动处理汉字和其他符号之间的距离,无论你是否在它们之间添加了正确的空格,非常方便。不过,你仍然可以在源代码中的汉字和其他符号之间添加空格,这将使代码更清晰。
4.2 命令与环境
LaTex 命令(宏)的格式为:
无参数: command 有n 个参数: comand. 有可选参数: command[opt1, opt2.optn]. 如果命令的参数超过一个字符(不包括空格),则必须用花括号括起来。可选参数(如果存在)包含在方括号中。
常用命令:
footnote{内容}输出脚注emph{内容}强调内容zihao{-5} 设置文字大小小5("-"表示小)kaishu 设置文字字体为楷书zihaoh{字体size} 和kaishu 该命令影响所有后续文本,直到整个组的末尾。该命令也称为声明。分组限制了语句的范围。
LaTex 环境是一个组。最大的组是表示文本的文档环境。您还可以使用成对的大括号{ } 来生成组。
环境格式:
begin{环境名称}
内容
end{环境名称}有些环境还带有参数或可选参数,格式为:
begin{环境名称}[可选参数]其他参数内容
end{环境名称}常用环境:
引用环境引用抽象环境抽象定理环境
Theorem环境是一类环境,使用前需要在介绍区定义: newtheorem{thm}{Theorem}这里定义了一个thm环境。
定理环境可以有一个可选参数,即定理的名称。 begin{thm}[毕达哥拉斯定理]
4.3 数学公式
夹在文本中的公式称为“文本内公式”(in-text Formula)或“行内公式”(inline Formula),可以用一对美元符号$$表示。
较长或较重要的公式一般写在中间单独的一行上;为了便于参考,公式常常被编号。这种类型的公式称为“显示公式”或“显示公式”,可以使用方程环境轻松输入。
4.4 使用图表
LaTex中使用插图有两种方式,一种是插入预先准备好的图片,另一种是使用LaTex代码直接在文档中绘制图片。
插图功能不是由LaTex内核直接提供的,而是由graphicx宏包提供的。要使用graphicx宏包的图解功能,需要在源文件的前导区使用usepackage命令引入宏包:
usepackage{graphicx}引入graphicx宏包后,可以使用includegraphics命令来说明。
includegraphics[width=3cm]{xiantu.pdf} 这里includegraphics 有两个参数。方括号中的可选参数width=3cm设置文档中显示的图形宽度为3厘米,第二个参数xiantu.pdf为图形的文件名(放置在源文件所在目录下)
可选参数包括scale=缩放因子、height=高度等。
插入的图形只是一个带有内容的矩形框,与文本中的一个大字符没有太大区别。为了不影响文本的布局,除了一些小标志图形外,我们很少直接在文本中插入插图,而是使用单独的环境来列出它们。而且,如果大图形的位置是固定的,就会造成分页困难。因此,图形通常放置在相对位置可以改变的环境中,称为浮动。
图形环境是用于插图的浮体环境。
开始{图}[ht]
定心
includegraphics[scale=0.6]{xiantu.pdf}
caption{宋兆双在笔记《周髀算经》中制作的弦图(复制),它提供了毕达哥拉斯定理的非常对称的证明。 }
label{fig:xiantu}
end{figure}可选参数[ht]表示浮动体可以出现在环境周围的文本位置(此处)和页面顶部(顶部);
图环境内部相当于普通段落(默认无缩进);
centering 表示后面的内容居中;
caption 命令为插图添加自动编号和标题;
label 命令定义图窗的标签。使用此标签,您可以在文章的其他地方引用caption 生成的数字;
4.5 制作表格
制作表格需要确定表格的行列对齐方式以及表格行数。这是由表格环境完成的:
开始{表}[H]
begin{表格}{|rrr|}
h行
直角边$a$ 直角边$b$ 斜边$c$\
h行
3 4 5 \
5 12 13 \
h行
end{表格}%
qquad
($a^2 + b^2=c^2$)
end{table}tabular 环境有一个参数,用于声明表中列的模式。
|rrr|表示表格有三列,全部右对齐,并且第一列前面和第三列后面有一条垂直表格线。
在表格环境中,行由命令 分隔,每行中的条目由符号分隔。
表格中的水平线是使用命令hline 生成的
该表格与includegraphics命令得到的插图相同,是一个比较大的盒子。一般也是放置在浮动环境中,即桌面环境。参数和一般使用格式与figure环境类似,只不过caption命令获取的标题是“table”而不是“figure”。但是,该表格没有标题,内容也没有居中。相反,表格和公式并排放置,并用qquad 分隔。
qquad 产生2 em 长的空白(大约两个“M”的宽度)。
因为我们已经使用qquad生成了足够长度的空格,所以我们可以在end{tabular}后面使用注释符%来取消换行产生的多余空格,正好达到了我们预期的效果。
在表格环境中,表示位置的参数中使用[H],意思是“放在这里,不浮动”。
[H]选项不是标准LaTex表环境使用的参数,而是float包提供的特殊函数。因此,要使上述代码正确运行,还必须在序言区使用usepackage{float}。在表格较小(不影响分页)且文字需要连贯的情况下,float包的非浮动图表环境非常有用。
5. 自动化工具
5.1 参考文献处理工具
BibTex 是一个专用于处理LaTex 文档列表的程序。 BibTex使用的参考数据库实际上是一个后缀为.bib的文件。其内容格式如下:
@BOOK{克莱恩,
title={古今数学思想},
出版社={上海科学技术出版社},
年={2002},
作者={克莱因}
}
@文章{泉井,
作者={曲安静},
title={尚高、赵爽、刘辉勾股定理的证明},
期刊={数学交流},
年={1998},
体积={20},
数量={3}
}
@BOOK{师爷,
title={著名的几何定理},
出版社={上海科学技术出版社},
年={1986},
作者={矢野健太郎}
}文档数据库文件的格式并不复杂。每个文献包括类型、引文标签、标题、作者、出版年份、出版商等信息,可以直接手动输入。现实中,BibTeX数据库往往不需要我们自己录入,而是可以直接从相关学科网站下载或者从其他类型的文献数据库转换而来。即使当我们需要自己输入时,使用JabRef这样的软件来管理也更加方便且不易出错。
使用BibTex处理文档时,编译步骤为:
xelatex演示.tex
bibtex 演示.aux
xelatex演示.tex
第一次运行xelatex demo.tex 时,xelatex 为BibTex 准备辅助文件并确定将列出数据库中的哪些文档。
然后bibtex对辅助文件gougu.aux进行处理,从文献库中选择文献,并按照指定的格式生成文献列表的LaTex代码。
接下来的两次,xelatex 读取文献列表代码并生成正确的引用信息。
参考文献数据库如下:
cite{文档标签}文档标签出现在.bib 中每个条目的第一行;
只有引用的文献才会出现在参考文献列表中。如果要显示列表中未直接引用的文档,可以使用nocite{文档标签} 命令,通常放在bibliography{文档数据库} 之前。
nocite{师爷}
bibliography{math}
5.2 目录和引用
目录也会自动从章节命令中提取并写入目录文件中。我们在大纲中使用了tableofcontents 命令,该命令将在第二次xelatex 编译时生效。
引用不限于参考文献。图表和公式的数量也可以通过辅助文件引用,只要提前设置好标签即可。基本的交叉引用命令是ref{reference label},它将标签作为参数并获取引用的编号。
图ref{fig:xiantu}是我国古代毕达哥拉斯定理的证明cite{全境}。公式编号的引用也可以这样处理,但需要先在公式中定义标签。
begin{方程}label{eq:gougu}
AB^2=BC^2 + AC^2。
end{equation}然后在文本中用(ref{eq:gougu})引用。在实践中,引用公式是很常见的。数学宏包amsmath定义了eqref命令,该命令专门用于引用公式,可以生成括号。
% 在序言区域使用usepackage{amsmath}
满足公式eqref{eq:gougu} 的整数称为emph{勾股数}
6. 设计文章的格式
大部分的设计工作都是通过文章介绍区的一些命令定义和参数设置来完成的,但往往是相当复杂。使用一些宏包可以简化大部分工作。之前已经使用过graphicx、float、amsmath宏包完成了一些工作,这里也用到了几个。
设计页面尺寸可以使用几何宏包:
usepackage{几何}
geometry{a6paper, centering, scale=0.8} 这是最简单的设置方法。定义的页面采用A6纸张尺寸,页面中心居中,长宽占据页面的0:8倍。
要改变图表标题格式,可以使用caption宏包:
usepackage[format=hang,font=small,textfont=it]{caption}将图表的所有标题设置为使用悬挂对齐(即数字向左突出),整体使用小字体,标题使用斜体文本(对于汉字来说是楷书)。
添加目录项目可以使用tocbibind宏包:
usepackage[nottoc]{tocbibind} 宏包默认将目录本身、参考文献、索引和其他项目添加到目录中。这里使用nottoc选项来抑制目录本身在目录中的显示
标题和作者字体可以直接在命令中设置
title{heiti杂谈毕达哥拉斯定理}
author{kaishu 张三}
date{today}其中heiti是类似于kaishu的中文字体命令,它将字体切换为粗体
6.1 自定义环境
文本中的引用环境也混合了字体命令。这种格式散布各处,很难看清楚,也不方便修改。为了解决这个问题,可以使用newenvironment命令定义一个新的环境,并在原来引用的基础上添加格式控制:
newenvironment{myquote} {
begin{quote}kaishuzihao{-5}
} {
结束{引用}
}这里,newenvironment 有三个参数。第一个参数是环境的名称,最后两个参数是环境的开头和结尾的代码。因此,您可以使用新环境。
6.2 自定义命令
事实证明,数学公式中角度的单位^circ也很不直观。您可以使用newcommand 命令来定义新命令 Degree:
【LaTeX 初学者指南(第一部分)】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
想试试写论文,听说 latex 好用!
有20位网友表示赞同!
准备开始学写 ilmiah paper ,Latex 是个好选择。
有8位网友表示赞同!
我最近也在学习 Latex,感觉还不错!
有17位网友表示赞同!
终于找到一份关于 latex 入门的教程了!
有6位网友表示赞同!
好久没学习新的软件了,今天试试 Latex 吧!
有5位网友表示赞同!
latex 能写出很漂亮的数学公式,我已经开始期待了!
有16位网友表示赞同!
以前用 word 写报告,格式总是很麻烦,Latex 看起来方便很多。
有8位网友表示赞同!
希望这篇文章能让我快速入门 Latex!
有7位网友表示赞同!
我有一个项目需要用到排版技巧,latex 应该可以帮到我吧!
有5位网友表示赞同!
已经学了一些基本知识,想继续学习更高级的 latex 功能。
有9位网友表示赞同!
感觉 Latex 比 word 要专业很多,有很大收获!
有13位网友表示赞同!
终于不用再烦恼公式的排版了!
有12位网友表示赞同!
Latex 入门文章有很多,挑一份质量好的比较重要!
有18位网友表示赞同!
刚接触 LaTeX 这种新玩意儿,有点激动!
有18位网友表示赞同!
准备学习 LaTeX ,想写出更漂亮的文档。
有9位网友表示赞同!
分享一下我学习 LaTeX 的心得体会。
有13位网友表示赞同!
希望这个入门教程能解答我的Latex 基础疑问。
有8位网友表示赞同!
学好 LaTeX ,可以让我更加高效地工作!
有20位网友表示赞同!