[翻译] 30分钟上手 LaTeX

原  文:Learn LaTeX in 30 minutes
译  者:Xovee
翻译时间:2020年5月5日

30分钟上手 LaTeX

本指南的主要内容是介绍 LaTeX\LaTeX 的基本使用。你不需要事先掌握关于 LaTeX\LaTeX 的任何知识,在你学习完本文后,你将会创建你的第一个 LaTeX\LaTeX 文档,并且掌握关于 LaTeX\LaTeX 的一些基础的用法。
PS:如果您还没有注册过 Overleaf,希望您能通过我的分享链接进行注册:https://www.overleaf.com?r=969b656f&rm=d&rs=b

什么是 LaTeX\LaTeX

LaTeX\LaTeX (发音类似于 LAY-tek 或者 LAH-tek,中文的话类似于雷坦克) 是一个创建专业文档的工具。它基于 WYSIWYM (就是这个奇怪的名字)理念,也就是说,你只需要专注于文档的内容,让计算机来处理文档的格式。与 Microsoft Word 或者 LibreOffice Writer 不同,LaTeX\LaTeX 用户只需要输入纯文字而不需要关心文档的格式。

为什么学习 LaTeX\LaTeX

因为 LaTeX\LaTeX 在世界各地出版的各类科学文献、书籍中得到了广泛的使用。它不仅可以创建出有着漂亮排版的文档,还可以让用户非常方便的处理排版中非常复杂的一些问题,例如输入数学公式、创建表格、引用、参考文献,以及全文统一的格式。而且,LaTeX\LaTeX 有着数不清的开源库,它可以做到的事情可以说是有无限可能。这些开源库允许用户用 LaTeX\LaTeX 做许多事情,例如添加脚注、绘制纲要、创建表格,等等。

人们使用 LaTeX\LaTeX 的一个重要的原因是,它将文档的内容和格式分开。这意味着当你完成了文档的内容创作之后,你可以轻易地修改文档的排版和格式。类似的,你可以创建一种可以让许多文档都使用的格式。这样,许多学术期刊可以创建适用于它们论文的模版。这些模版已经定义好了排版和格式,你只需要添加论文的内容,即可创建出统一风格的论文文档。事实上,你可以在网上找到数不清的模版,包括简历和幻灯片。

编辑你的第一个 LaTeX\LaTeX 文档

第一步:创建一个新的 LaTeX\LaTeX 项目。你可以在你自己的计算机上创建一个新的 .tex 文件,或者你可以在 Overleaf 上创建一个新的项目。让我们首先试一个简单的例子:

\documentclass{article}

\begin{document}
First document. This is a simple example, with no 
extra parameters or packages included.
\end{document}

你可以看到,LaTeX\LaTeX 已经帮你处理了一些排版任务:对段落的第一行进行了缩进。让我们看看代码中的每一个部分都起了什么作用。

在 Overleaf 中打开一个例子

代码中的第一行声明了文档的类型,也称为 。类控制着文档的所有样式。不同类型的文档需要定义不同类型的类,例如,简历和学术论文所需要的类是不一样的。在这个例子中,文档的类是article,它在 LaTeX\LaTeX 中是最简单也是最常用的类。其他文档类型还有bookreport等。

在定义了文档的类型之后,你开始输入文档的内容,它包含在\begin{document}\end{document}这两个标签之间。这又被称为文档的 正文。你可以在这里开始输入和修改文档的内容。为了在 PDF 中看到这些输入的效果,你需要编译这个文档。在 Overleaf 中,你只需要点击 Recompile 即可。(你还可以将你的项目设定为在编辑时自动重编译:点击 ‘Recompile’ 按钮旁边的小箭头,然后将 ‘Auto Compile’ 设定为 ‘On’。)

如果你在使用基础的文字编辑器,例如 gedit、emacs、vim、sublime、notepad 等,你需要手动地编译文档。首先在你的计算机的命令行中运行 pdflatex <your document> 指令。这里有着更多的信息。

如果你使用一个特定的 LaTeX 编辑器,例如 TeXmaker 或者 TeXworks,点击 Recompile 按钮即可。查阅这些程序的文档,如果你对过程还不太清楚的话。

现在你已经学习了如何给你的文档添加内容,下一步是给文档添加一个标题,为了做到这一点,我们必须简单地介绍一下 序言(preamble)。

文档的序言

在上一个例子中,文字是在指令\begin{document}之后输入的。而在这个指令之前 .tex 文件中的所有内容被称为序言(preamble)。在序言中,你可以定义文档的类型,你所使用的语言,你想引入的包,以及许多其他的模块。下面展示了一个普通文档的序言:

\documentclass[12pt, letterpaper]{article}
\usepackage[utf8]{inputenc}

下面介绍每一行的作用:

\documentclass[12pt, letterpaper]{article}
像之前说的那样,这行命令定义了文档的类型。它通常还有一些额外的参数,定义在方括号之中。这些参数必须用逗号来分割。在这个例子中,这些额外的参数设定了文档的字体大小(12pt),和文档的大小(letterpaper)。当然,你可以设定其他类型的字体大小(例如9pt、10pt、11pt),如果没有指定这个参数,那么文档的字体大小将设定为默认的10pt。对于文档的大小来说,常用的选项包括 letterpaper、a4paper、legalpaper 等;页的大小和边距中详细介绍了这些参数。

\usepackage[utf8]{inputenc}
这行命令定义了文档的编码形式。你可以简单地忽略它,或者设定为其他的值,当然,utf-8 是比较推荐的选项。除非你真的需要另外一种编码方式,或者你不确定该用哪种编码方式,在序言中添加这一行。

添加标题、作者和日期

为了在文档中添加标题、作者以及日期,你需要在序言中添加如下三行命令(不要在文档的正文中添加)。这些命令是:

\title{First document}
这是标题。

\author{Hubert Farnsworth}
这里你定义文档的作者,以及,你可以添加下面一行可选的命令:

\thanks{funded by the Overleaf team}
这行命令可以在作者的名字之后添加,也就是在作者指令的花括号之内。它会添加一个上标和一个脚注。当你需要在文档中致谢机构的时候,这个命令很有用。

\date{February 2014}
你可以手动地输入日期,或者使用\today指令,它可以将日期自动地设定为你编译文档时的日期。

在添加了这些指令之后,你的序言看起来是这个样子:

\documentclass[12pt, letterpaper, twoside]{article}
\usepackage[utf8]{inputenc}

\title{First document}
\author{Hubert Farnsworth \thanks{funded by the Overleaf team}}
\date{February 2017}

现在你已经定义了文档的标题、作者以及日期,你可以使用\maketitle指令来让这些命令生效。这个命令应该出现文档的正文里。

\begin{document}

\maketitle

We have now added a title, author and date to our first \LaTeX{} document!

\end{document}

在这里插入图片描述
在 Overleaf 中打开这个例子。

输入注释

在你写代码的时候,添加一些注释是非常有用的。注释是一种不会出现在文档最终输出之中的文字,它不会对文档造成任何影响。注释对你组织文档、添加笔记、或者调试代码有着很大的帮助。在 LaTeX\LaTeX 中添加注释非常简单,你只需要在行的最前面添加一个 % 符号:

\begin{document}

\maketitle

We have now added a title, author and date to our first \LaTeX{} document!

% This line here is a comment. It will not be printed in the document.

\end{document}

在这里插入图片描述

在 Overleaf 中打开这个例子。

粗体、斜体、下划线

我们现在来学习一些基础的文字格式指令。

  • 粗体:在 LaTeX\LaTeX 中,粗体文字定义在 \textbf{...} 命令中。
  • 斜体:在 LaTeX\LaTeX 中,斜体文字定义在 \textit{...} 命令中。
  • 下划线:在 LaTeX\LaTeX 中,下划线文字定义在 \underline{...} 命令中。

下面是一些例子:

Some of the \textbf{greatest}
discoveries in \underline{science} 
were made by \textbf{\textit{accident}}.

在这里插入图片描述
另外一个非常有用的指令是强调\emph{...}。它真正的作用取决于它所在的环境——在正常文字中,强调文字是斜体的,但是如果使用在斜体文字之中,它又会变为正常字体,下面是一个例子:

Some of the greatest \emph{discoveries} 
in science 
were made by accident.

\textit{Some of the greatest \emph{discoveries} 
in science 
were made by accident.}

\textbf{Some of the greatest \emph{discoveries} 
in science 
were made by accident.}

在这里插入图片描述
需要注意的是,有些包,例如Beamer,会改变\emph指令的行为。

在 Overleaf 中打开这个例子。

添加图片

我们现在来看如何在 LaTeX\LaTeX 文档中添加图片。在 Overleaf 中,你首先需要上传图片

下面是添加图片的一个例子:

\documentclass{article}
\usepackage{graphicx}
\graphicspath{ {images/} }

\begin{document}
The universe is immense and it seems to be homogeneous, 
in a large scale, everywhere we look at.

\includegraphics{universe}

There's a picture of a galaxy above
\end{document}

在这里插入图片描述
在 Overleaf 中打开这个例子。

LaTeX\LaTeX 本身不能管理图片,所以你需要导入一个包。包可以被用来改变 LaTeX\LaTeX 文档默认的外观,或者添加更多特定的功能。在这个例子中,你需要在文档中添加一个图片,所以你需要用到 graphicx 包。这个包引入了一个新的命令,\includegraphics{...}\graphicspath{...}。为了使用 graphicx 包,在文档的序言中添加如下命令:\usepackage{graphicx}

\graphicspath{ {images/} } 命令告诉 LaTeX\LaTeX 当前目录下存储图片的文件夹的名字。

\includegraphics{universe} 命令是实际上用来在文档中添加图片的命令。在这里 universe 是图片的文件名(没有文件名的后缀),所以 universe.PNG 就是 universe。文件名不能包含空格,或者多个点(.....)。

注意:文件名的后缀是可以使用的,但是不推荐那么做。当文件名没有后缀时,LaTeX\LaTeX 会搜索所有支持的文件格式。在上传文件的时候,推荐使用小写的文件名后缀。更多的信息请查看生成高清或低清的图片

Captions、标签、引用

你还可以给图片添加标题、标签,以及引用。请看下面的例子:

\begin{figure}[h]
    \centering
    \includegraphics[width=0.25\textwidth]{mesh}
    \caption{a nice plot}
    \label{fig:mesh1}
\end{figure}

As you can see in the figure \ref{fig:mesh1}, the 
function grows near 0. Also, in the page \pageref{fig:mesh1} 
is the same example.

在这里插入图片描述
在 Overleaf 中打开这个例子。

在这个例子中有三个重要的指令:

  • \caption{a nice plot}:显然,这个命令设定了图片的标题。如果你创建了多个图片,那么这个命令就应该在那里使用。你可以将其放在图片的上面,也可以放在图片的下面。
  • \label{fig:mesh1}:如果你需要在文档中引用你所添加的图片,那么用这个指令给图片设定一个标签。这个标签会给图片们进行数字排列,使用下面的这个命令可以让你引用这些图片。
  • \ref{fig:mesh1}:这个命令会生成图片所代表的数字。

当你在 LaTeX\LaTeX 文档中放置图片时,把命令放在一个 figure 环境中,从而使 LaTeX\LaTeX 恰当地在文档中设定这个图片出现的位置。

注意:如果你在你的本地计算机中使用了 captions 和引用,你需要编译你的文件两次来让引用正确地工作。在 Overleaf 中,你不需要这样做。

LaTeX\LaTeX 中创建列表

LaTeX\LaTeX 中创建列表是非常简单点。你可以使用不同的列表环境。环境是文档中特殊的章节,它们的表现方式各不相同。它们一般开始于\begin{...},结束于\end{...}

一般来说,列表可以分为两大类:有序列表和无序列表。它们有着不同的环境。

无序列表

无序列表由itemize环境生成。每一个列表项都开始于一个控制命令\item,例如:

\begin{itemize}
  \item The individual entries are indicated with a black dot, a so-called bullet.
  \item The text in the entries may be of any length.
\end{itemize}

在这里插入图片描述
默认情况下,每一个列表项都由一个黑色的点开始,也被称为子弹。列表项中的文字一般没有长度限制。

在 Overleaf 中打开这个例子。

有序列表

有序列表的语法与无序列表相同。我们使用enumerate环境来创建有序列表:

\begin{enumerate}
  \item This is the first entry in our list
  \item The list numbers increase with each entry we add
\end{enumerate}

在这里插入图片描述
与无序列表类似,每一个列表项由\item来输入,这些列表项会自动地进行数字排序。这些数字从一开始计数。

在 Overleaf 中打开这个例子。

LaTeX\LaTeX 中输入数学公式

使用 LaTeX\LaTeX 的一大好处就是它可以方便的输入和展示数学公式。LaTeX\LaTeX 支持两种公式输入方法:行内模式和展示模式。行内模式下的数学公式是文本中的一部分。展示模式下的公式则不属于文本的一部分,它们会独立地进行展示。下面是一些行内公式的例子:

One of the main advantages of LATEX is the ease at which mathematical expressions can be written. LATEX allows two writing modes for mathematical expressions: the inline mode and the display mode. The first one is used to write formulas that are part of a text. The second one is used to write expressions that are not part of a text or paragraph, and are therefore put on separate lines. Let’s see an example of the inline mode:

In physics, the mass-energy equivalence is stated 
by the equation $E=mc^2$, discovered in 1905 by Albert Einstein.

在这里插入图片描述
为了使用行内公式,你可以选用以下三种定义符之一:

  • \(...\)
  • $...$
  • \begin{math}...\end{math}

它们的功能都是一样的,到底使用哪种定义符则取决于使用者的喜好了。

展示模式 下的公式则有两种:有公式编号的,以及没有公式编号的。

The mass-energy equivalence is described by the famous equation
\[ E=mc^2 \]
discovered in 1905 by Albert Einstein. 
In natural units ($c = 1$), the formula expresses the identity
\begin{equation}
E=m
\end{equation}

在这里插入图片描述
为了在展示模式中输入公式,你可以使用如下几种定义符:

  • \[...\]
  • \begin{displaymath} ... \end{displaymath}
  • \begin{equation} ... \end{equation}

$$ ... $$定义符是不推荐大家使用的,因为它有时候会造成不一致的间距,或者在某些数学包中不能正常工作。

重要提示:equation*环境是由一个外部包提供的,请参考amsmath

在 Overleaf 中打开这个例子。

许多数学模式命令要求引入amsmath包,所以在书写数学公式的时候,请记住引入这个包。下面的例子展示了一些基础的数学命令用法:

Subscripts in math mode are written as $a_b$ and superscripts are written as $a^b$. These can be combined an nested to write expressions such as

\[ T^{i_1 i_2 \dots i_p}_{j_1 j_2 \dots j_q} = T(x^{i_1},\dots,x^{i_p},e_{j_1},\dots,e_{j_q}) \]
 
We write integrals using $\int$ and fractions using $\frac{a}{b}$. Limits are placed on integrals using superscripts and subscripts:

\[ \int_0^1 \frac{dx}{e^x} =  \frac{e-1}{e} \]

Lower case Greek letters are written as $\omega$ $\delta$ etc. while upper case Greek letters are written as $\Omega$ $\Delta$.

Mathematical operators are prefixed with a backslash as $\sin(\beta)$, $\cos(\alpha)$, $\log(x)$ etc.

在这里插入图片描述

在 Overleaf 中打开这个例子。

LaTeX\LaTeX 中有着数不清的支持输入数学公式的功能和外部包。你可以阅读我们提供的一些其他文章:

基础排版

我们现在来看看如何写摘要,以及如何将一个 LaTeX\LaTeX 文档分为不同的章节和段落。

摘要

在学术论文中,使用摘要是常见的做法。在 LaTeX\LaTeX 中有一个专门的 abstract 环境。这个环境使用一个不同于正文的特殊格式。

\begin{document}

\begin{abstract}
This is a simple paragraph at the beginning of the 
document. A brief introduction about the main subject.
\end{abstract}
\end{document}

在这里插入图片描述
在 Overleaf 中打开这个例子。

段落

\begin{document}

\begin{abstract}
This is a simple paragraph at the beginning of the 
document. A brief introduction about the main subject.
\end{abstract}
 
Now that we have written our abstract, we can begin writing our first paragraph.
 
This line will start a second Paragraph.
\end{document}

在这里插入图片描述
在 Overleaf 中打开这个例子。

在写文档的时候,如果你需要开始一个新的段落,你必须输入Enter键两次(来插入一个空白行)。需要注意的是,LaTeX\LaTeX 会自动给段落首行进行缩进。

如果你想在直接从下一行中输入内容,而不是创建一个新的段落,那么你可以使用 \\ 命令(两个反斜杠)或者 \newline 命令。

使用这两个命令的时候要注意,它们不应当被用来模拟段落之间的大段空白,这样做会扰乱 LaTeX\LaTeX 的排版算法。推荐的做法是使用双空行来创建新的段落,然后在序言中使用\usepackage{parskip}包。

你可以在这篇文章中找到更多的信息。

章节

组织文档的命令依赖于文档的类型,最简单的组织方法就是使用章节。

\chapter{First Chapter}

\section{Introduction}

This is the first section.

Lorem  ipsum  dolor  sit  amet,  consectetuer  adipiscing  
elit.   Etiam  lobortisfacilisis sem.  Nullam nec mi et 
neque pharetra sollicitudin.  Praesent imperdietmi nec ante. 
Donec ullamcorper, felis non sodales...

\section{Second Section}

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  
Etiam lobortis facilisissem.  Nullam nec mi et neque pharetra 
sollicitudin.  Praesent imperdiet mi necante...

\subsection{First Subsection}
Praesent imperdietmi nec ante. Donec ullamcorper, felis non sodales...

\section*{Unnumbered Section}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  
Etiam lobortis facilisissem

在这里插入图片描述
在 Overleaf 中打开这个例子。

\section{}命令标记着一个新节的开始,花括号之中的文字设定了节的标题。节会自动地用数字排序,你也可以在指令中使用*来创建没有数字排序的节。除此之外,还有更多的节的命令:\subsection{}\subsubseciton{}等等。它们之间的等级如下所示:

等级 命令
-1 \part{part}
0 \chapter{chapter}
1 \section{section}
2 \subsection{subsection}
3 \subsubsection{subsubsection}
4 \paragraph{paragraph}
5 \subparagraph{subparagraph}

需要注意的是:\part\chapter只在reportbook类型的文档中可用。

更多的信息请参考这篇文章

创建表格

创建一个简单的表格

请看下面的例子:

\begin{center}
\begin{tabular}{ c c c }
 cell1 & cell2 & cell3 \\ 
 cell4 & cell5 & cell6 \\  
 cell7 & cell8 & cell9    
\end{tabular}
\end{center}

在这里插入图片描述

tabular环境是 LaTeX\LaTeX 中默认创建表格的环境。你必须给它指定一个参数,在这个例子中是{c c c}。这个参数告诉 LaTeX\LaTeX 这个表格有着三个列,每个列中的文字都是居中对齐的。你还可以使用r或者l来向右或者向左对齐。对齐符号&用来分割不同的单元格。每一行中&的数目必须比列数少一个。\\命令用来切换到表格的下一行。我们使用center环境来放置表格,使其在页面中居中显示。

在 Overleaf 中打开这个例子。

添加边框

你还可以在tabular环境中给每个列或行添加边框。

\begin{center}
\begin{tabular}{ |c|c|c| } 
 \hline
 cell1 & cell2 & cell3 \\ 
 cell4 & cell5 & cell6 \\ 
 cell7 & cell8 & cell9 \\ 
 \hline
\end{tabular}
\end{center}

在这里插入图片描述

你可以使用水平线指令\hline和垂直线指令|来给表格添加边框。

  • { |c|c|c| }:这个命令定义了三个列,它们由垂直线分割开来。
  • \hline:这个命令会在表格中插入一个水平线。在上面的例子中,我们给表格的开始和结束添加了水平线。你可以使用任意多的水平线。

下面是一个例子:

\begin{center}
 \begin{tabular}{||c c c c||} 
 \hline
 Col1 & Col2 & Col2 & Col3 \\ [0.5ex] 
 \hline\hline
 1 & 6 & 87837 & 787 \\ 
 \hline
 2 & 7 & 78 & 5415 \\
 \hline
 3 & 545 & 778 & 7507 \\
 \hline
 4 & 545 & 18744 & 7560 \\
 \hline
 5 & 88 & 788 & 6344 \\ [1ex] 
 \hline
\end{tabular}
\end{center}

在这里插入图片描述
LaTeX\LaTeX 中创建表格有时候会比较麻烦,你可以使用一个方便的在线工具来创建表格:TablesGenerator.com。其中 File > Paste table data 选项允许你从表格应用中复制和粘贴数据。

在 Overleaf 中打开这个例子。

表题、标签,以及引用

与图片相同,你可以给表格添加标题、标签、引用。唯一不同的地方是图片中你使用figure环境,表格使用table环境。

Table \ref{table:data} is an example of referenced \LaTeX{} elements.

\begin{table}[h!]
\centering
\begin{tabular}{||c c c c||} 
 \hline
 Col1 & Col2 & Col2 & Col3 \\ [0.5ex] 
 \hline\hline
 1 & 6 & 87837 & 787 \\ 
 2 & 7 & 78 & 5415 \\
 3 & 545 & 778 & 7507 \\
 4 & 545 & 18744 & 7560 \\
 5 & 88 & 788 & 6344 \\ [1ex] 
 \hline
\end{tabular}
\caption{Table to test captions and labels}
\label{table:data}
\end{table}

在这里插入图片描述
在 Overleaf 中打开这个例子。

注意:如果你在本地计算机上使用表题和引用,你需要对文档进行两次编译来使其正常工作。在 Overleaf 则不需要这样做。

添加目录

创建文档的目录是非常直接的,使用\tableofcontents命令就好了。

\documentclass{article}
\usepackage[utf8]{inputenc}
 
\title{Sections and Chapters}
\author{Gubert Farnsworth}
\date{ }
  
\begin{document}
  
\maketitle
  
\tableofcontents

\section{Introduction}
   
This is the first section.
      
Lorem  ipsum  dolor  sit  amet,  consectetuer  adipiscing  
elit.   Etiam  lobortisfacilisis sem.  Nullam nec mi et 
neque pharetra sollicitudin.  Praesent imperdietmi nec ante. 
Donec ullamcorper, felis non sodales...
       
\addcontentsline{toc}{section}{Unnumbered Section}
\section*{Unnumbered Section}

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  
Etiam lobortis facilisissem.  Nullam nec mi et neque pharetra 
sollicitudin.  Praesent imperdiet mi necante...

\section{Second Section}
       
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  
Etiam lobortis facilisissem.  Nullam nec mi et neque pharetra 
sollicitudin.  Praesent imperdiet mi necante...
         
\end{document}

在这里插入图片描述
章节会自动地出现在目录中。如果你想手动地管理目录,例如你想添加一个未编好的章节,使用\addcontentsline命令。

在 Overleaf 中打开这个例子。

下载文档

你可以在左上角的菜单中点击 PDF 来下载文档。或者在 PDF 预览框的上面点击 Download PDF 来快速下载文档。
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章