注:文章里的代码我自己测试是可以直接复制进winedt编译成功的。但是有朋友反馈说编译不成功,检查后的结果大概是在人人网发帖的时候,人人网自己神奇的排版系统自主“智能”增添了一些换行符制表符类似物。因此如果直接复制编译不成功的时候,请尝试手打一遍。代码内容已经十分精简,相信手打起来也不会有太大压力。
1.LaTeX软件的安装和使用
方法A(自助):在MikTeX的官网下载免费的MikTeX编译包(150Mb)并安装。下载WinEdt(9.5Mb)(收费)或TexMaker(32Mb)(免费)等编辑界面软件并安装。
方法B(打包):在ctex.org下载ctex套装(203Mb或1.3Gb)(含MikTeX及WinEdt)
新人不必纠结软件问题,随便什么软件随便什么版本只要下载下来能编译出pdf来就可以,先下载了装上来试试再说。我推荐winedt也是方便我在介绍按钮样子的时候可以统一描述。在真正开始跑步之前没有必要纠结该买NIKE跑鞋还是ADI跑鞋,跑起来再说。不要瞻前顾后,just try it.
2.第一个文档
打开WinEdt,建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8。
\documentclass{article}
\begin{document}
hello, world
\end{document}
然后在WinEdt的工具栏中找到编译按钮(在垃圾桶和字母B中间),在下拉菜单中选择XeLaTeX,并点击编译。 (这里请注意一下我之前一直笔误写的XeTeX,给大家带来困扰深感歉意) 。如果顺利的话,我们就可以顺利生成出第一个pdf文件,点击工具栏中的放大镜按钮就可以快速打开生成的pdf文件。
3.标题、作者和注释
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察现象。
\documentclass{article}
\author{My Name}
\title{The Title}
\begin{document}
\maketitle
hello, world % This is comment
\end{document}
%为本行右边所有内容被注释掉,在生成的pdf中不会显示。
块注释也有专门的语句,不过更方便的方式是选中一块区域点鼠标右键,点comment
4.章节和段落
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察现象。
\documentclass{article}
\title{Hello World}
\begin{document}
\maketitle
\section{Hello China} China is in East Asia.
\subsection{Hello Beijing} Beijing is the capital of China.
\subsubsection{Hello Dongcheng District}
\paragraph{Tian'anmen Square}is in the center of Beijing
\subparagraph{Chairman Mao} is in the center of Tian'anmen Square
\subsection{Hello Guangzhou}
\paragraph{Sun Yat-sen University} is the best university in Guangzhou.
\end{document}
退格只是我个人偏好,看起来层次清晰美观。实际操作上未必要如此,每一行之前的空格不影响编译生成PDF的排版结果。
5.加入目录
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察现象。
\documentclass{article}
\begin{document}
\tableofcontents
\section{Hello China} China is in East Asia.
\subsection{Hello Beijing} Beijing is the capital of China.
\subsubsection{Hello Dongcheng District}
\paragraph{Hello Tian'anmen Square}is in the center of Beijing
\subparagraph{Hello Chairman Mao} is in the center of Tian'anmen Square
\end{document}
6.换行
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察对比现象。
\documentclass{article}
\begin{document}
Beijing is
the capital
of China.
Washington is
the capital
of America.
Amsterdam is \\ the capital \\
of Netherlands.
\end{document}
空一行为另起一段,\\为段内强制换行。
我对之前手滑写出New York is the capital of America这类低级错误表示非常抱歉。
7.数学公式
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察对比现象。
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
The Newton's second law is F=ma.
The Newton's second law is $F=ma$.
The Newton's second law is
$$F=ma$$
The Newton's second law is
\[F=ma\]
Greek Letters $\eta$ and $\mu$
Fraction $\frac{a}{b}$
Power $a^b$
Subscript $a_b$
Derivate $\frac{\partial y}{\partial t} $
Vector $\vec{n}$
Bold $\mathbf{n}$
To time differential $\dot{F}$
Matrix (lcr here means left, center or right for each column)
\[
\left[
\begin{array}{lcr}
a1 & b22 & c333 \\
d444 & e555555 & f6
\end{array}
\right]
\]
Equations(here \& is the symbol for aligning different rows)
\begin{align}
a+b&=c\\
d&=e+f+g
\end{align}
\[
\left\{
\begin{aligned}
&a+b=c\\
&d=e+f+g
\end{aligned}
\right.
\]
\end{document}
具体细节可以自行搜索LaTeX的数学符号表或别人给的例子。
$...$是开启行内数学模式,用于和文本合在一起使用。
$$...$$和\[...\]是另起一行居中开启数学模式。通常用起来差别不是很大,不过$$会修改默认的公式行间距,有时可能会对文章的整体效果有影响。
有一些网站可以通过画图的方式来生成公式,有的编辑器集成了各种数学功能按钮。这对于公式需求少的人来说很方便,具体信息可以自己去搜索。但是如果你的文章中要出现大段的证明过程,就会发觉还是老老实实地google一篇latex数学符号表,然后不懂的去查代码,自己用手指敲来得干脆利索。再进阶一点,可以去搜一下有关LaTeX的自定义command的内容去看一下,在敲公式时能省很多力气。
8.插入图片
将待插入的图片姑且先命名为figure1.jpg
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,放在和图片文件同一个文件夹里,编译并观察现象。
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[width=4.00in,height=3.00in]{figure1.jpg}
\end{document}
在老版本的LaTeX中是只支持eps图片格式的,现在的LaTeX对jpg、bmp、png等等常见图片都可以支持。
9.简单表格
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察对比现象。
\documentclass{article}
\begin{document}
\begin{tabular}{|c|c|}
aaa & b \\
c & ddddd\\
\end{tabular}
\begin{tabular}{|l|r|}
\hline
aaaa & b \\
\hline
c & ddddd\\
\hline
\end{tabular}
\begin{center}
\begin{tabular}{|c|c|}
\hline
a & b \\ \hline
c & d\\
\hline
\end{tabular}
\end{center}
\end{document}
注意观察有无\hline和有无\begin{center}的区别。注意观察\begin{tabular}后的lcr的区别,分别是left对齐,center对齐和right对齐。
10.结尾
到目前为止,你已经可以用LaTeX自带的article模板来书写一篇基本的论文框架了,至少你已经能够借助搜索然后复制粘贴这些命令例子来开始用LaTeX编辑了。
在论文从框架到完整的过程中,必然还存在许多的细节问题,比如字体字号,比如图片拼合,比如复杂的表格等等。那些问题,就请咨询google吧。通常来说我们作为初学者会提出的问题,早就已经有许多的先辈们在网络上提过同样的问题了,看看别人的回答就可以。 LaTeX在国内的普及率并不高,因此许多时候如果搜英文关键词,会获得更好的效果。
===============================
附录,有关我认为不是新手急需,但是的确比较有用的信息
1.中文支持
很多朋友给我留言希望我把中文支持部分加进这个基本入门的教程里。因为没有被人要求过,所以我自己没有用LaTeX写过中文的paper,只是偶尔拿来写写小说大纲。因此对于中文方面我知道的很少,也只能最简单地提一下。中文支持部分,在前文中提到的《【自制】一份其实很短的 LaTeX 入门文档》中有比较详细的介绍,大家可以点进去学习浏览。
曾经的LaTeX的中文支持是比较麻烦的一件事,但是现在使用MikTeX+WinEdt的中文支持非常容易。只需要把开头的\documentclass{atricle}换成\documentclass{ctexart}就可以了。 如果是第一次使用ctexart的话,会自动下载和安装宏包和模板,之后就不会再下载了。
例子参考如下:
打开WinEdt,建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8。
\documentclass[UTF8]{ctexart}
\begin{document}
你好,世界
\end{document}
有同学和我反映说直接copy这些代码生成的中文是乱码,的确这样的问题偶有发生。如果这样的话,不妨在windows左下角的开始菜单的程序列表里找到MikTeX的文件夹,用maintenance里面的package manager搜索和手动安装名为CJK的package,然后再试试能否成功编译出中文。
2.宏包
\package{}就是在调用宏包,对计算机实在外行的同学姑且可以理解为工具箱。 每一个宏包里都定义了一些专门的命令,通过这些命令可以实现对于一类对象(如数学公式等)的统一排版(如字号字形),或用来实现一些功能(如插入图片或制作复杂表格)。 通常在\documentclass之后,在\begin{document}之前,将文章所需要涉及的宏包都罗列上。
对于新人而言比较常用的宏包有 ;
编辑数学公式的宏包:\usepackage{amsmath}和 \usepackage{amssymb}
编辑数学定理和证明过程的宏包:\usepackage{amsthm}
插入图片的宏包:\usepackage{graphicx}
复杂表格的宏包:\usepackage{multirow}
差不多了,对于新人来说,这五个宏包已经基本够用了。如果有其他的特殊需求,就通过google去寻找吧。
补充说明一下,ctexart模板里已集成了CJK宏包。
3.模板
模板就是在\documentclass{}后面的大括号里的内容。 在这一份教程中,我们使用的是LaTeX默认自带的模板article,以及中文模板ctexart。 模板就是实现我之前所介绍的LaTeX的经验总结的第二点的实现方式。
一篇文章,我们定义了section,定义了paragraph,就是没有定义字体字号,因为字体字号这一部分通常来说是在模板中实现的。 一个模板可以规定,section这个层级都用什么字体什么字号怎么对齐,subsection这个层级用什么字体什么字号怎么对齐,paragraph又用什么字体什么字号怎么对齐。 当然模板里还可以包含一些自定义的口令,以及页眉页脚页边距一类的页面设置。
4.参考文献和制作幻灯片
做参考文献的时候,文章也已经快写到尾声了。这一部分内容有点复杂,一言难尽。对这个功能有需求的LaTeX user,使用LaTeX也已经相当熟练了,自己去google一下或查阅其他厚教程是很理所当然的,一点也不冤枉。
在此我就只提供两个搜索关键词,参考文献可以搜bibtex,制作幻灯片可以搜beamer。
不过说到有关用LaTeX做幻灯片,我和几个精通LaTeX的朋友聊到最后共识趋于一点,就是除非真的对LaTeX实在太有爱,除非内容涉及到太多太多的数学公式,否则还是用powerpoint吧。毕竟有导师要求论文必须用LaTeX做,但是没导师要求presentation也必须用LaTeX做。选择LaTeX做幻灯片,对比一下其学习和使用成本,和能做出的超出powerpoint的美观程度,性价比不是很高。
=========================================
下面是原先的“前言”,但是因为太长了太过啰嗦,所以我就把它放在教程正文的后面变成了“后记”。
很有闲情的可以看完,略有闲情的可以只看黑体,没有闲情的就略过不看吧。
在我初学LaTeX时,我自己有着很强烈的感受,对于新人来说,LaTeX其实不缺少长篇的系统论述的manual,但是缺少简短的step by step的一个example接一个example的有操作价值的tutorial。因此这一篇tutorial的起点为零,终点到满足写一个proposal就为止了。同时这一篇tutorial的内容只涉及信息的撰写和录入,不涉及排版美化。
这篇教程中涉及的以及被我有意过滤掉的LaTeX的功能,都是我仔细斟酌过的,我确保文章的内容对于新人来说完全够用。
从proposal到paper当然还有一点距离,最重要的台阶是模板的应用,其次是做参考文献。
不过有了这篇文章垫底,至少能用LaTeX编辑点东西了,也就不怕了,单独去google需要的部分的教材就可以了。
那么我个人对于即将接触LaTeX的新人的教材建议是,先从这一篇出发,掌握这一篇里的内容之后,就可以开始着手撰写和编辑自己的LaTeX文本了,比如自己的proposal或者论文的提纲,在写的过程中遇到的大部分格式和中文支持问题,都可以在我的朋友写的《【自制】一份其实很短的 LaTeX 入门文档》中找到答案。而更多的问题,可以参考在我当初学LaTeX入门时认为最简短有指导意义有操作价值的《一份不太短的LaTeX介绍》,那一篇教材里基本就涵盖了以写paper为目的全部LaTeX功能需求了。
另外感谢朋友留言提醒了我另外一篇当初在我入门时对我帮助非常大的教程,它名字很简单朴素叫做《LaTeX notes》。 这个note和《不太短的》都是内容合理实用,没有多余的废话,没有职业编辑才可能用到的高端内容,而且充满了清爽的examples的教程。我也要强烈推荐出来。它可以通过搜索“latex notes 包老师”获得。
用三句话来介绍什么是LaTeX,以下三点基于我个人写assignment report和写论文的主观经验的总结。
1.LaTeX是一类用于编辑和排版的软件,用于生成PDF文档。
2.LaTeX编辑和排版的核心思想在于,通过\section和\paragraph等语句,规定了每一句话在文章中所从属的层次,从而极大方便了对各个层次批量处理。
3.LaTeX在使用体验方面,最不易被Word替代的有四个方面:方便美观的数学公式编辑、不会乱动的退格对齐、非所见即所得因此可以在编辑的时候用退格和换行整理思路但生成PDF出来不影响美观、部分导师和刊物不接受Word排版的文章。
我考虑了很久,最后还是决定不将这些examples的代码注释完全,而是希望读者在对比了tex代码和生成的pdf内容之后,自己得出结论。这些例子都是我自己推敲安排过的,如果想学LaTeX的话,自己总要动点脑筋才好。