LaTeX新人教程, 30分钟从完全陌生到基本入门(转)

date: 2016.05.11; modification:2016.05.27

目录:

Mike: 本文不知道被人转载了多少次了, 我也不知道原文出处是哪里, 只知道我是从这里转来的:

http://blog.sina.com.cn/s/blog_90444ed201016iq6.html

并且我在其中添加了一些Linux相关的说明.

具体转载内容如下:

LaTeX新人教程, 30分钟从完全陌生到基本入门

by Nan

1 前言

对于真心渴望迅速上手LaTeX的人, 前言部分可以跳过不看.

本教程面向对LaTeX完全无认知无基础的新人. 旨在让新人能够用最简单快捷的方式, 轻松入门, 能够迅速使用LaTeX完成基本的文本编辑.

这个教材最终能够达到的水平是能够使用LaTeX写一篇正常的proposal. 如果希望有更大需求的提高, 那么推荐在熟悉了这一篇文章的内容之后, 再自行google或查阅其他稍厚的教材.

尤其旨在破除部分新人对LaTeX在传闻中难以学习的恐惧感. 在入门之后, 面对各种进阶应用, 特殊要求与异常状况, 可以自行咨询google解决.

先用三句话来介绍什么是LaTeX, 以下三点基于我个人的主观经验的总结.

  1. LaTeX是一类用于编辑和排版的软件, 用于生成PDF文档.
  2. LaTeX编辑和排版的核心思想在于, 通过, 规定了每一句话在文章中所从属的层次, 从而极大方便了对各个层次批量处理. (Mike注: 其实懂一些web的人, 可以以html来类比理解, 其实LaTeX原本应该和html差不多简单, 但是让人困扰的是其太多的版本与各种中文兼容问题, 对于该问题, 可以参考: Latex中各种概念的区分)
  3. LaTeX在使用体验方面, 最不易被Word替代的有四个方面:
    • 方便美观的数学公式编辑.
    • 不会乱动的退格对齐.
    • 非所见即所得因此可以在编辑的时候用退格和换行整理思路但生成PDF出来不影响美观(Mike: 这点就是见仁见智了).
    • 部分导师和刊物不接受Word排版的文章(Mike: 这点在国内恐怕要倒过来了吧).
    • (Mike在此补充一下比较重要的, 就是在Linux下, 很多时候想要生成pdf, 是必须要经过LaTeX这道工序的, win用户可以直接无视此条).

我要严厉警告和强烈声讨那些自以为是advanced LaTeX user的人. 请你们不要为了自己那一点可怜可悲的虚荣心, 去刻意渲染LaTeX有多么高端多么不容易学习, 这和孔乙己炫耀茴香豆的茴字有四种写法有什么区别么?混账! LaTeX到底有多"难"你们自己清楚好么? 同理的还有很大一部分的VI user,还有Linux user, 还有Fallout player. 卧槽, 一个软件而已, 有什么好显摆的.别人想学LaTeX, 好, 你随手给人家丢一个几百页的英文Manual, 显得自己很高端吗? 你自己看过了吗? 你推荐给别人的时候真的有希望别人看完吗? 只是装逼的话就是混账!

(Mike: 此段完全引用原文, 不是Mike说的啊^_^, 不过Mike表示, 在Linux下一开始确实有些困扰, 所以除了前文推荐的 "概念的区分" 文章以外, Linux用户也可以参考: LaTeX Ubuntu中文环境安装与使用, 在这篇文章中, Mike力求将其表述到最简)

我写这一篇教程的动机, 正是因为网络上能够找到的简要速成的LaTeX教程完全没有. 我能找得到的最简短或是说在我看来最具有指导意义的, 就是那篇《一份不太简短的LaTeX介绍》. 然而对于希望迅速对LaTeX有所了解的人, 那一篇"不太简短的介绍"也仍旧稍嫌略长, 我当初在入门时也研究了整晚. 在LaTeX社区群里聊得久了, 大家都是朋友, 既然缺了这一块我又有闲情, 那么就补上了. 因此我写了这一篇教程, 完全是以教会新人上手为目的, 把华而不实的内容统统略去, 确保能够在三十分钟内跟着这个教程走完全步骤就可以基本算是 "玩转LaTeX"了. 这个三十分钟的时长, 是我帮助我身边的朋友开始接触LaTeX入门的常规时间, 是经验积累的结果. 至于其他LaTeX教程攻略, 我个人推荐是在看完这一篇之后, 再随意当字典或百科全书来查阅.

下面是教程正文. (正文最后应大家要求增添了附录)

2 正文

2.1 LaTeX软件的安装和使用

方法A(自助): 在MikTeX的官网下载免费的MikTeX编译包并安装. 下载WinEdt(收费)或TexMaker(免费)等编辑界面软件并安装. 方法B(打包): 在ctex.org下载ctex套装(含MikTeX及WinEdt) 哈哈这一部分当然不包含在标题的30分钟里.

(Mike注: Linux用户可以参考: LaTeX Ubuntu中文环境安装与使用)

2.2 第一个文档

打开WinEdt, 建立一个新文档, 将以下内容复制进入文档中, 保存为test.tex, 保存类型选择为UTF-8.

\documentclass{article} % 表示文档类型为article, 具体有哪些类型可以自行搜索.
\begin{document}        % 文档的开始, 与后面的\end相对应.
hello, world
\end{document}

然后在WinEdt的工具栏中找到编译按钮(在垃圾桶和字母B中间), 在下拉菜单中选择XeTeX, 并点击编译. (Mike注: 在Linux下, 可以运行: "xelatex test.tex", 具体可以参考: LaTeX Ubuntu中文环境安装与使用)

如果顺利的话, 我们就可以顺利生成出第一个pdf文件, 点击工具栏中的放大镜按钮就可以快速打开生成的pdf文件.

2.3 标题, 作者和注释

建立一个新文档, 将以下内容复制进入文档中, 保存, 保存类型选择为UTF-8, 编译并观察现象.

\documentclass{article}
\author{My Name}
\title{The Title}
\begin{document}
\maketitle
hello, world % This is comment
\end{document}

2.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的排版结果.

2.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} 

2.6 换行

建立一个新文档, 将以下内容复制进入文档中, 保存, 保存类型选择为UTF-8, 编译并观察现象.

\documentclass{article} 
\begin{document} 
  Beijing is 
  the capital 
  of China. 

  New York is 

  the capital 

  of America. 

  Amsterdam is \\ the capital \\ 
  of Netherlands. 
\end{document} 

2.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$. 

  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的数学符号表或别人给的例子.

2.8 插入图片

先搜索到一个将图片转成eps文件的软件, 很容易找的, 然后将图片保存为一个名字如figure1.eps. 建立一个新文档, 将以下内容复制进入文档中, 保存, 保存类型选择为UTF-8, 放在和图片文件同一个文件夹里, 编译并观察现象.

\documentclass{article} 
  \usepackage{graphicx} 
\begin{document} 
  \includegraphics[width=4.00in,height=3.00in]{figure1.eps} 
\end{document} 

Mike add: {{{

Mike add: }}}

2.9 简单表格

建立一个新文档, 将以下内容复制进入文档中, 保存, 保存类型选择为UTF-8, 编译并观察现象.

\documentclass{article} 
\begin{document} 
  \begin{tabular}{|c|c|} 
    a & b \\ 
    c & d\\ 
  \end{tabular} 

  \begin{tabular}{|c|c|} 
    \hline 
    a & b \\ 
    \hline 
    c & d\\ 
    \hline 
  \end{tabular} 

  \begin{center} 
    \begin{tabular}{|c|c|} 
      \hline 
      a & b \\ \hline 
      c & d\\ 
      \hline 
    \end{tabular} 
  \end{center} 
\end{document} 

Mike add {{{

表格一般也放在浮动环境中, 即 table 环境, 参数与大体的使用格式也与 figure 环境差不多, 只是 令得到的标题是 "表" 而不是 "图".

原文正文到此已经接近尾声, 但是Mike发现了解这些以后, 虽然可以开始写文档了, 但是还很难开始真正像样的文档编写, 尤其是时间紧张的时候(比如公司要求你写篇文档, 有时限). 所以Mike在此添加了一些比较常用的知识点. 之所以在此添加, 是因为如果没有这些, 即使去网上查资料, 也是经常看不懂的.

2.10 其他常用知识点

Mike add }}}

2.11 结尾

到目前为止, 你已经可以用LaTeX自带的article模板来书写一篇基本的论文框架了, 至少你已经能够用得起来LaTeX了.

在论文从框架到完整的过程中, 必然还存在许多的细节问题, 比如字体字号, 比如图片拼合, 比如复杂的表格等等.

那些问题, 就请咨询google吧. 通常来说我们作为初学者会提出的问题, 早就已经有许多的先辈们在网络上提过同样的问题了, 看看别人的回答就可以.

LaTeX在国内的普及率并不高, 因此许多时候如果搜英文关键词, 会获得更好的效果.

3 附录

有关我认为不是新手急需, 但是的确比较有用的信息

3.1 中文支持

曾经的LaTeX的中文支持是比较麻烦的一件事, 但是现在使用MikTeX+WinEdt的中文支持非常容易. 只需要把开头的 \documentclass{article} 换成 \documentclass{ctexart} 就可以了. 如果是第一次使用ctexart的话, 会自动下载和安装宏包和模板, 之后就不会再下载了. 例子参考如下: 打开WinEdt, 建立一个新文档, 将以下内容复制进入文档中, 保存, 保存类型选择为UTF-8.

\documentclass{ctexart}
\begin{document}
你好, 世界
\end{document}

3.2 宏包

就是在调用宏包, 对计算机实在外行的同学姑且可以理解为工具箱.

每一个宏包里都定义了一些专门的命令, 通过这些命令可以实现对于一类对象(如数学公式等) 的统一排版(如字号字形), 或用来实现一些功能(如插入图片或制作复杂表格).

通常在, 在\begin{document}之前, 将文章所需要涉及的宏包都罗列上.

对于新人而言比较常用的宏包有:

差不多了, 对于新人来说, 这几个宏包已经基本够用了. 如果有其他的特殊需求, 就通过google去寻找吧. 补充说明一下, 现在ctexart模板里集成了中文支持, 所以CJK宏包并不是必需品.

3.3 模板

模板就是在\documentclass{}后面的大括号里的内容.

在这一份教程中, 我们使用的是LaTeX默认自带的模板article, 以及中文模板ctexart.

模板就是实现我之前所介绍的LaTeX的经验总结的第二点的实现方式.

一篇文章, 我们定义了section, 定义了paragraph, 就是没有定义字体字号, 因为字体字号这一部分通常来说是在模板中实现的.

一个模板可以规定, section这个层级都用什么字体什么字号怎么对齐, subsection这个层级用什么字体什么字号怎么对齐, paragraph又用什么字体什么字号怎么对齐.

当然模板里还可以包含一些自定义的口令, 以及页眉页脚页边距一类的页面设置.

由于模板的使用, 在我的使用经验里来看, 绝对不可能算是基本入门级的内容, 所以在正文里当然不会提及.

如果有人实在想学, 如果LaTeX已经接触到这个程度上了, 那么再去翻其他厚一些的教材, 也不亏了.

3.4 参考文献和制作幻灯片

做参考文献的时候, 文章也已经快写到尾声了, 而幻灯片更不是进阶一些的需求. 对这两个功能有需求的LaTeX user, 使用LaTeX也已经相当熟练了, 自己去google一下或查阅其他厚教程是很理所当然的, 一点也不冤枉.

在此我就只提供两个搜索关键词, 参考文献可以搜bibtex, 制作幻灯片可以搜beamer.