LaTeX入门(一)

LaTeX入门(一)

ZYX

参考文章:Learn LaTeX in 30 minitues

什么是LaTeX

LaTeX(读作:”LAY-tek” 或者 “LAH-tek”)是一种用于排版专业外观文档的工具。LaTeX与一些其他常用的文档生产应用如Word的操作方式十分不同:那些“所见即所得”(WYSIWYG)的工具提供用户交互性的页面,用户可以在里面输入和编辑文本或应用不同的样式。

LaTeX则正相反,你的文档是一个纯文本文件,穿插着用于表达所需排版结果的LaTeX指令。为了生成可见的排版文档,你的LaTeX文件由一份叫做“TeX引擎”的软件来处理,利用你文件中嵌入的指令来指导和控制排版过程,将LaTeX指令和文本转换成专业排版格式的PD份文件。这意味着你只需要专注于文档的内容,而计算机——藉由LaTeX指令和TeX引擎——将会负责视觉呈现(排版)。

写你的第一个LaTeX

创建LaTeX项目

第一步是创建一个LaTeX项目。可以通过手动创建一个.tex文件,也可以使用Overleaf新建一个项目。为了演示,先使用一个最简单的例子作为开始,可以直接在Overleaf中打开:

1
2
3
4
5
\documentclass{article}
\begin{document}
First document. This is a simple example, with no
extra parameters or packages included.
\end{document}

网页中的输出结果如下:

First_latex_example

可以看到LaTeX自动地缩进(indented)了段落的第一行,为你处理好了格式。让我们仔细观察代码的每一部分:

代码的第一行:\documentclass{article},声明了该文档的类型,也就是他的class,该类型控制着文档的整体表现。不同类型的文档需要不同的类;换言之,一个简历/履历所需的类型与科学论文不同,科学论文可能会使用标准的LaTeX论文类(article)。其他你可能要处理的文档需要其他类例如book或者report。更多类型的说明见CTAN网页:CTAN (Comprehensive TeX Archive Network)

设置了文档的class后,我们的内容,即文档的body部分,被写在\begin{document}和\end{document}标签之间。每次修改文档内容,都要重新编译,即点击”Recompile“按钮,或”Ctrl + Enter“。另外,也可以设置每次编辑后自动编译:点击Recompile旁边的小箭头,然后把Auto Compile打开,如图:

打开自动编译

既然我们知道了如何给文档增加内容,接下来就是给文档一个标题,为了实现,我们必须先简要了解一下“前言”(preamble)

一个文档的前言/序言 (The preamble of a document)

上面的截图显示Overleaf以文件的形式保存一个LaTeX文档,称为main.tex。这个.tex扩展名是一种习惯,当被用来命名你的包含LaTeX代码的文档文件时。

先前的例子显示出文档内容是如何在\begin{document}命令之后出现的;然而,你的.tex文件中一切在那个地方之前出现的都称为“前言”(Preamble),作为文档的“设置”(setup)节。在preamble中,可以定义文档类型(class/type)和一些特定参数,例如撰写文档时的语言、需要加载的包(packages)等,也是应用其他设置的地方。

一个最小的文档preamble可以是如下这样的:

1
2
\documentclass[12pt, letterpaper]{article}
\usepackage{graphicx}

其中\documentclass[12pt, letterpaper]{article}定义了文档整体的类型。额外的参数必须被包含在方括号中[],用逗号分隔,用来配置这个article类的实例。即,我们希望用于这个特定的基于article类的文档的设置。

在这个例子中,第一行的这两个参数做了如下的事:

  • 12pt 设置了字体大小
  • letterpaper 设置了纸的尺寸

其它的字体大小如9pt、10pt等也可以使用,但如果没有特别指定,默认的字体大小是10pt。至于纸的尺寸,其他可能的值可以是a4paper和legalpaper。其他的纸大小设置见page size and margins

这一preamble行:

1
\usepackage{graphicx}

是一个加载外部包的示例(这里是graphicx)以扩展LaTeX的能力,加载graphicx使其可以引入外部的图像文件。具体在后面的节中讨论。

引入标题、作者和日期信息

增加一个标题、作者和日期信息需要再preamble中增加3行(不是文档的body中),那些行是:

  • \title{My first LaTeX document}: 文档标题
  • \author{Hubert Farnsworth}: 在这里写作者的名字,并且可选地,在花括号里使用\thanks 指令:
    • \thanks{Funded by the Overleaf team.}: 可以被加到作者名后面,在author指令的括号中。它将会增加一个上标和一个脚注,文本在括号里。如果你需要在文章里感谢一个机构的话很有用。
  • \date{August 2022}: 你可以手动输入日期,或者使用指令\today来输入当前日期,当文档每次被编译的时候。

这些preamble加入之后,你的preamble会看上去像这样:

1
2
3
4
\documentclass[12pt, letterpaper]{article}
\title{My first LaTeX document}
\author{Hubert Farnsworth\thanks{Funded by the Overleaf team.}}
\date{August 2022}

为了排版标题,作者和日期在文档的body里面使用\maketitle指令:

1
2
3
4
\begin{document}
\maketitle
We have now added a title, author and date to our first \LaTeX{} document!
\end{document}

所以整体的文档变成如下:

1
2
3
4
5
6
7
8
\documentclass[12pt, letterpaper]{article}
\title{My first LaTeX document}
\author{Hubert Farnsworth\thanks{Funded by the Overleaf team.}}
\date{August 2022}
\begin{document}
\maketitle
We have now added a title, author and date to our first \LaTeX{} document!
\end{document}

可以在Overleaf中查看效果。

输出效果如下:

加入标题等信息之后的LaTeX文档效果

增加注释

LaTeX是“程序代码”的一种形式,专用于文档排版。因此,与用其他编程语言写的代码一样,在你的文档中添加注释有时是很有用的。一个LaTeX注释是一节文本,这段文本不会被排版或以任何方式影响文档——经常被用来增加“to do”笔记;包括解释性笔记;提供对棘手的宏的内联的解释或调试时注释掉的LaTeX代码行。

为了在LaTeX中增加注释,在行首简单地写一个%符号即可,如下代码所示:

1
2
3
4
5
6
7
8
9
10
\documentclass[12pt, letterpaper]{article}
\title{My first LaTeX document}
\author{Hubert Farnsworth\thanks{Funded by the Overleaf team.}}
\date{August 2022}
\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 typeset in the document.
\end{document}

可以在Overleaf中查看效果。

粗体、斜体和下划线

接下来,我们将会看一些文本格式指令:

  • 粗体(Bold Font):使用\textbf{…}指令来加粗LaTeX文本。
  • 斜体(Italics):使用\textit{…}指令来产生斜体LaTeX文本。
  • 下划线:使用\underline{…}指令来给LaTeX文本加下划线。

接下来的示例展示这些指令:

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

可以在Overleaf中查看效果。

样例输出如下:

文本格式指令示例

另一个非常有用的指令是 \emph{argument} , 基于它的参数argument 的效果取决于上下文。在普通的文本中,被强调的文本被斜体,但在一个斜体的文本中这种行为是相反的——会取消斜体——见接下来的示例:

1
2
3
4
5
6
7
8
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.}

可以在Overleaf中查看效果。

样例输出如下:

\emph指令的效果

  • 注意,在某些包中,如Beamer,会改变\emph指令的行为。

添加图片

Overleaf支持三种插入图片的方式:

  1. 使用Insert Figure按钮,位于编辑器的工具栏上,以插入一张图片到可视化编辑器或代码编辑器中。
  2. 复制和粘贴一张图片到可视化编辑器或代码编辑器中。
  3. 使用代码编辑器来撰写LaTeX代码以插入一张图片。

选项1和选项2会自动生成必要的LaTeX代码来插入图片,但我们要介绍选项3——注意,你需要上传这些图片到你的Overleaf项目中,接下来的例子演示如何引入一张图片:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
\documentclass{article}
\usepackage{graphicx} % LaTeX package to import graphics
\graphicspath{{images/}} % configuring the graphicx package

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

% The \includegraphics command is
% provided (implemented) by the
% graphicx package
\includegraphics{universe}

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

可以在Overleaf中查看效果。

样例输出如下:

LaTeX插入图像示例

在LaTeX中引入图片需要一个额外的包,提供引入外部图像文件的指令和特性。上面的例子中加载了graphicx包,除了许多其他指令外,还提供了\includegraphics{…}指令来引入图片,和\graphicspath{…}指令来指导LaTeX图片定位在哪里。

为了使用graphicx包,要在你的Overleaf文档的preamble中加入以下行:

1
\usepackage{graphicx}

在上面的例子中指令\graphicspath{ {images/} }告知LaTeX图片被保存在一个名为images的文件夹中,这个images文件夹被保存在当前目录下:

images文件夹

指令\includegraphics{universe}指令做了实际将图片插入文档的工作。这里,universe是图片文件的名称,但没有它的扩展名。

注意:

  • 尽管文件全名,包括其扩展名,在\includegraphics指令中是允许的,广泛认为的最好的实践是省略文件扩展名,因为它会提示LaTeX搜索所有支持的格式。
  • 通常来说,图像的文件名不应该包含空白符或多个点,当上传文件到Overleaf时也更推荐使用小写字母的文件扩展名。

标题、标签和引用

图片可以被起标题、被打标签和被引用,通过figure环境的方法引用图片,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
\documentclass{article}
\usepackage{graphicx}
\graphicspath{{images/}}

\begin{document}
\begin{figure}[h]
\centering
\includegraphics[width=0.75\textwidth]{mesh}
\caption{A nice plot.}
\label{fig:mesh1}
\end{figure}

As you can see in figure \ref{fig:mesh1}, the function grows near the origion. This example is
on page \pageref{fig:mesh1}.

\end{document}

可以在Overleaf中查看效果。

示例输出如下:

图像引用、标题和标签

在这个例子中有几个值得注意的指令:

  • \includegraphics[width=0.75\textwidth]{mesh}:这种形式的\includegraphics指示LaTeX来设置图像的宽度为75%的文本宽度——文本宽度的值保存在\textwidth指令中。
  • \caption{A nice plot.}:如它的名字指示的那样,这个指令设置图像的标题,可以放在图的上方或者下方。如果创建了一列的图像,那么标题会被应用于那一列图像。
  • \label{fig:mesh1}:为了在你的文档中引入这张图像,使用\label命令给图像一个标签。这个标签用于为图像生成一个编号,结合下一个指令可以允许你引用它。
  • \ref{fig:mesh1}:这个指令会被对应引用图像的编号替换。

被插入LaTeX文档的图像应该被放在一个figure环境当中,或类似的,以便LaTeX能够自动地把图片放置在你的文档中的一个合适的位置。

进一步的指南包含在如下的Overleaf帮助文章中:

在LaTeX中创建列表

在LaTeX中可以使用环境(environments)来创建不同类型的列表,用于封装实现特定排版所需的LaTeX代码。一个环境以\begin{environment-name}开始,以\end{environment-name}结束,其中environment-name可以是figure、tabular或是列表类型之一:itemizes用于无序列表、enumerate用于有序列表。

无序列表

无序列表由itemize环境创建。每个列表条目必须以\item指令开头,如下所示:

1
2
3
4
5
6
7
\documentclass{article}
\begin{document}
\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}
\end{document}

可以在Overleaf中查看效果。

示例输出如下:

Unordered_list

以下是一个更大的项目,演示不同类型的LaTeX列表:Overleaf

有序列表

有序列表使用与无序列表相同的句法,但使用enumerate环境创建:

1
2
3
4
5
6
7
\documentclass{article}
\begin{document}
\begin{enumerate}
\item This is the first entry in our list.
\item The list numbers increase with each entry we add.
\end{enumerate}
\end{document}

可以在Overleaf中查看效果。

示例输出如下:

Ordered lists

与无序列表相同,每个条目必须以\item指令开头,这里自动生成了数字有序的列表标签,从1开始。

为了获得更多信息,可以查看这个更大的项目,该项目演示了不同类型的LaTeX列表:Overleaf,或者访问以下帮助界面:help article on LaTeX lists,提供了更多示例,展示了如何创建自定义列表。

  • Title: LaTeX入门(一)
  • Author: ZYX
  • Created at : 2025-09-11 11:25:56
  • Updated at : 2025-09-11 11:25:56
  • Link: https://zyxzyx.top/LaTeX入门(一)/
  • License: This work is licensed under CC BY-NC-SA 4.0.