Latex入门(to do更新排版)
1. 前言
相对于所见即所得”的Word而言,使用LaTeX进行排版,可以保证规范性,非常适合用于论文的排版。
无论是LaTeX还是Word,其归根结底都只是排版工具。笔者最建议的书写工具是Markdown,其书写的过程中可以不在意排版,也支持使用LaTeX语法输入公式,与LaTeX之间的转换非常方便。
读者可以参考我写的Markdown快速入门MarkDown 基础操作、详细入门
2. Latex的介绍
LaTeX(读作/ˈlɑːtɛx/或/ˈleɪtɛx/)是一个让你的文档看起来更专业的排版系统,而不是文字处理器。它尤其适合处理篇幅较长、结构严谨的文档,并且十分擅长处理公式表达。它是免费的软件,对大多数操作系统都适用。
LaTeX 基于 TeX(Donald Knuth 在 1978 年为数字化排版设计的排版系统)。TeX 是一种电脑能够处理的低级语言,但大多数人发现它很难使用。LaTeX 正是为了让它变得更加易用而设计的。目前 LaTeX 的版本是 LaTeX 2e。
如果你习惯于使用微软的 Office Word 处理文档,那么你会觉得 LaTeX 的工作方式让你很不习惯。Word 是典型的「所见即所得」的编辑器,你可以在编排文档的时侯查看到最终的排版效果。但使用 LaTeX 时你并不能方便地查看最终效果,这使得你专注于内容而不是外观的调整。
一个 LaTeX 文档是一个以 .tex 结尾的文本文件,可以使用任意的文本编辑器编辑,比如 Notepad,但对于大多数人而言,使用一个合适的 LaTeX 编辑器会使得编辑的过程容易很多。在编辑的过程中你可以标记文档的结构。完成后你可以进行编译——这意味着将它转化为另一种格式的文档。它支持多种格式,但最常用的是 PDF 文档格式。
3. 常见发行版
如果需要编写 LaTeX 文档,你需要安装一个「发行版」,常用的发行版有 TeX Live、MikTeX 和适用于 macOS 用户的 MacTeX(实际上是 TeX Live 的 macOS 版本),至于 CTeX 则现在不推荐使用。TeX Live 和 MacTeX 带有几乎所有的 LaTeX 宏包;而 MikTeX 只带有少量必须的宏包,其他宏包将在需要时安装。
TeX Live 和 MikTeX 都带有 TeXworks 编辑器,你也可以安装功能更多的 TeXstudio 编辑器,或者自行配置 Visual Studio Code 或 Notepad++ 等编辑器。
大部分发行版都带有多个引擎,如 pdfTeX 和 XeTeX。对于中文用户,推荐使用 XeTeX 以获得 Unicode 支持。
TeX 有多种格式,如 Plain TeX 和 LaTeX。现在一般使用 LaTeX 格式。所以,你需要使用与你所使用的格式打包在一起的引擎。如对于 pdfTeX,你需要使用 pdfLaTeX,对于 XeTeX 则是 XeLaTeX。
4. Latex的安装与环境配置
4.1 安装Tex Live
对于 Windows 用户,你需要下载 TeX Live 或 MikTeX。国内用户可以使用清华大学 TUNA 镜像站请点击页面右侧的「获取下载链接」按钮,并选择「应用软件」标签下的「TeX 排版系统」即可下载 TeX Live 或 MikTeX 的安装包,其中 TeX Live 的安装包是一个 ISO 文件,需要挂载后以管理员权限执行 install-tl-advanced.bat。
对于其他操作系统的用户(如MacOS),可以参考TeX Live 下载及安装说明 | 始终 (liam.page)中的方法。
4.2 选择TeX编辑器
对于新手,最推荐的编辑器是TeXworks,非常适合用来上手,也避免了配置环境带来的问题。如果想要提高效率的话,可以选用:
TeXstudio,安装地址为TeXstudio - A LaTeX editor (sourceforge.net);
宇宙第一的Visual Studio Code,这是笔者最建议的TeX编辑器,不过需要手动配置LaTeX,较为麻烦;
另外,也有在线的编辑器,如Overleaf, 在线LaTeX编辑器。
到此,TexStudio安装完成、配置完成。
现在我们来测试一下能否使用Latex。
打开TexStudio,输入以下代码:
\documentclass{article}
\begin{document}
Hello World!
\end{document}
点击两个绿色按钮的构建并查看,看到完成即可
4.3 选择pdf阅读器和编辑器
LaTeX编译的结果是pdf文件,建议选用专业的pdf阅读器或pdf编辑器。特别是在阅读beamer类型的文件时,不同的阅读器效果差别极大。在这里推荐Acrobat:
Adobe Acrobat Reader,免费,可用于查看、签署、协作处理和批注 PDF 文件
Adobe Acrobat Pro,付费,可用于创建、保护、转换和编辑 PDF文件
5. 利用LaTeX编写文档
5.1 基本要素
\documentclass[a4paper, 12pt]{article}
\begin{document}
A sentence of text.
\end{document}
\documentclass 命令必须出现在每个 LaTeX 文档的开头。花括号内的文本指定了文档的类型。
article 文档类型适合较短的文章,比如期刊文章和短篇报告。
其他文档类型包括 report(适用于更长的多章节的文档,比如博士生论文),proc(会议论文集),book 和 beamer。
方括号内的文本指定了一些选项——示例中它设置纸张大小为 A4,主要文字大小为 12pt。
\begin{document} 和 \end{document} 命令将你的文本内容包裹起来。任何在 \begin{documnet} 之前的文本都被视为前导命令,会影响整个文档。任何在 \end{document} 之后的文本都会被忽视。
空行不是必要的,但它可以让长的文档更易读。
5.2 宏包
为了完成一些功能(如定理环境),还需要在导言区,也即document环境之前加载宏包。
加载宏包的代码是\usepackage{}。
本份教程中,与数学公式与定理环境相关的宏包为amsmath、amsthm、amssymb,用于插入图片的宏包为graphicx,代码如下:
\usepackage{amsmath, amsthm, amssymb, graphicx}
另外,在加载宏包时还可以设置基本参数,如使用超链接宏包hyperref,可以设置引用的颜色为黑色等,代码如下:
\usepackage[bookmarks=true, colorlinks, citecolor=blue, linkcolor=black]{hyperref}
5.3 添加文档标题
\maketitle 命令可以给文档创建标题。你需要指定文档的标题。如果没有指定日期,就会使用现在的时间,是可选的。
在 \begin{document} 和 命令后紧跟着输入以下文本(也可以放在导言区):
\title{My First Document}
\author{My Name}
\date{\today}
\maketitle
输入后的文档
\documentclass[a4paper, 12pt]{article}
\begin{document}
\title{My First Document}
\author{My Name}
\date{\today}
\maketitle
A sentence of text.
\end{document}
\today 是插入当前时间的命令。
也可以输入一个不同的时间,比如 \date{November 2013}。
article 文档的正文会紧跟着标题之后在同一页上排版。report 会将标题置为单独的一页
5.4 正文
正文可以直接在document环境中书写,没有必要加入空格来缩进,因为文档默认会进行首行缩进。相邻的两行在编译时仍然会视为同一段。在LaTeX中,另起一段的方式是使用一行相隔
在正文部分,多余的空格、回车等等都会被自动忽略,这保证了全文排版不会突然多出一行或者多出一个空格。另外,另起一页的方式是:
\newpage
在正文中,还可以设置局部的特殊字体:
5.4 章节
如果需要的话,你可能想将你的文档分为章(Chatpers)、节(Sections)和小节(Subsections)。
下列分节命令适用于 article 类型的文档:
- \section
- \subsection
- \subsubsection
- \paragraph
- \subparagraph
花括号内的文本表示章节的标题。对于 report 和 book 类型的文档我们还支持 \chapter{...} 的命令。
将 "A sentence of text." 替换为以下文本:
\documentclass[a4paper, 12pt]{article}
\begin{document}
\title{My First Document}
\author{My Name}
\date{\today}
\maketitle
\section{Introduction}
This is the introduction.
\section{Methods}
\subsection{Stage 1}
The first part of the methods.
\subsection{Stage 2}
The second part of the methods.
\section{Results}
Here are my results.
\end{document}
5.4 创建标签
可以对任意章节命令创建标签,这样他们可以在文档的其他部分被引用。
使用 \label{labelname} 对章节创建标签。
然后输入 \ref{labelname} 或者 \pageref{labelname} 来引用对应的章节。
在 \subsection{Stage 1} 下面另起一行,输入 \label{sec1}。 在 Results 章节输入 Referring to section \ref{sec1} on page \pageref{sec1}。
你的文档会变成这样:
\documentclass[a4paper, 12pt]{article}
\begin{document}
\title{My First Document}
\author{My Name}
\date{\today}
\maketitle
\section{Introduction}
This is the introduction.
\section{Methods}
\subsection{Stage 1}
\label{sec1} The first part of the methods.
\subsection{Stage 2}
The second part of the methods.
\section{Results}
Here are my results. Referring to section \ref{sec1} on page \pageref{sec1}
\end{document}
5.5 生成目录(TOC)
在有了章节的结构之后,使用\tableofcontents命令就可以在指定位置生成目录。通常带有目录的文件需要编译两次,因为需要先在目录中生成.toc文件,再据此生成目录。
% 导言区
\title{我的第一个\LaTeX 文档}
\author{awei}
\date{\today}
\begin{document}
\maketitle
\tableofcontents
\section{一级标题}
\subsection{二级标题}
这里是正文.
\subsection{二级标题}
这里是正文.
\end{document}
5.6 字体效果
5.6.1 中文字体支持
在文档的前导命令部分添加:
\usepackage[UTF8]{ctex}
5.6.2 字体效果
\textit{words in italics}
\textsl{words slanted}
\textsc{words in smallcaps}
\textbf{words in bold}
\texttt{words in teletype}
\textsf{sans serif words}
\textrm{roman words}
\underline{underlined words}
5.6.3 彩色字体
包引用的命令放置在文档的前导命令的位置(即放在 \begin{document} 命令之前)。使用 \usepackage[options]{package} 来引用包。其中 package 是包的名称,而 options 是指定包的特征的一些参数。
使用 \usepackage{color} 后,我们可以调用常见的颜色:
图片
插入图片需要使用graphicx宏包,建议使用如下方式:
\begin{figure}[htbp]
\centering
\includegraphics[width=8cm]{图片.jpg}
\caption{图片标题}
\end{figure}
其中,[htbp]的作用是自动选择插入图片的最优位置,\centering设置让图片居中,[width=8cm]设置了图片的宽度为8cm,\caption{}用于设置图片的标题。
表格
\begin{table}[htbp]
\centering
\caption{表格标题}
\begin{tabular}{ccc}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9
\end{tabular}
\end{table}
列表
LaTeX中的列表环境包含无序列表itemize、有序列表enumerate和描述description,以enumerate为例,用法如下:
\begin{enumerate}
\item 这是第一点;
\item 这是第二点;
\item 这是第三点.
\end{enumerate}
页面
最开始选择文件类型时,我们设置的页面大小是a4paper,除此之外,我们也可以修改页面大小为b5paper等等。
一般情况下,LaTeX默认的页边距很大,为了让每一页显示的内容更多一些,我们可以使用geometry宏包,并在导言区加入以下代码:
\usepackage{geometry}
\geometry{left=2.54cm, right=2.54cm, top=3.18cm, bottom=3.18cm}
另外,为了设置行间距,可以使用如下代码:
\linespread{1.5}
页码
默认的页码编码方式是阿拉伯数字,用户也可以自己设置为小写罗马数字:
\pagenumbering{roman}
另外,aiph表示小写字母,Aiph表示大写字母,Roman表示大写罗马数字,arabic表示默认的阿拉伯数字。如果要设置页码的话,可以用如下代码来设置页码从0开始:
\setcounter{page}{0}
友链: