LaTeX-入门学习笔记


1 LaTeX简介及注意事项

LaTeX是一个文档排版系统,适合于大型论文排版和数学公式输入,同时可以插入图表,使得文档易于阅读。本文主要介绍的是以下内容:

  • LaTeX编辑器TeXworks的基本用法;
  • 中英混排;
  • 文章组织结构;
  • 数学公式的排版;
  • 在文档中插入图表;
  • 版面设置等等。

首先安装tex,见TeX Live下载及安装说明

TeX的源代码是后缀为.tex的纯文本文件。使用任意纯文本编辑器,都可以修改.tex文件:包括Windows自带的记事本程序。本文只介绍TeXworks,TeXworks十分简洁,除了最基本的功能之外,没有其他复杂的东西。

启动TeXworks有三种方法:

1、在Windows运行的对话框中输入texworks按回车;

2、从开始菜单找到TeXworks图标以启动;

3、进入TeX系统的安装目录找到TeXworks。

TeXworks启动效果如下图:
在这里插入图片描述
上图中空白的部分,就是输入编辑文本的编辑框;在编辑框的右下角,显示有三个按钮,最左边的是换行符模式,中间是编码模式,右边标示当前光标所在位置。编辑框的上方是工具栏,工具栏的左边是编译按钮(TeXworks也称其为排版工具);工具栏在往上是菜单栏。

TeXworks预设了若干排版工具,下面主要用到XeLaTeX。

TeXworks默认的排版工具是pdfLaTeX,可以在编辑-首选项-排版-处理工具-默认中修改为其他的排版工具。


2 基本用法

注意:在Windows上,TeX涉及到的文件(包括.tex与.jpg等各类文件)都不要包含中文名字,避免在编译时可能会因为编码问题导致报错。

2.1 示例

在TeXworks编辑框中输入:

\documentclass{article}
%这里是导言区
\begin{document}
HELLO WORLD
\end{document}

将文档保存后在排版工具的下拉选框中选中XeLaTeX后,按下绿色的编译按钮。则屏幕的右边就会出现编译之后结果:
在这里插入图片描述
根据输出可知,输入进编辑框的五行文字,在最终输出的pdf文档中只显示了1行。即交付TeX处理的文档内容,并不会全部输出。

2.2 示例解释

在这里插入图片描述
上图中的文档类,即是TeX系统预设的(或是用户自定的)一些格式的集合。不同的文档类在输出效果上会有差别。注意:TeX对控制序列的大小写是敏感的

此处的第二行以%开头,以百分号%作为注释标记——TeX会忽略从%开始到当前行末尾的所有内容。若要输出%字符本身,则需要在%之前加上反斜杠\进行转义,例如:20\%

之后出现了控制序列begin。这个控制序列总是与end成对出现。这两个控制序列以及他们中间的内容被称为「环境」;它们之后的第一个必要参数总是一致的,被称为环境名。只有在document环境中的内容,才会被正常输出到文档中去或是作为控制序列对文档产生影响,即在\end{document}之后插入任何内容都是无效的。

\documentclass{article}开始到\begin{document}之前的部分被称为导言区,可将导言区理解为是对整篇文档进行设置的区域。在导言区出现的控制序列,往往会影响整篇文档的格式。如通常在导言区设置页面大小、页眉页脚样式、章节标题样式等。


3 中英混排

不要使用CJK宏包

现在XeTeX原生支持Unicode,并且可以方便地调用系统字体,只需要使用几个简单的宏包,就能完成中文支持了。【宏包】是一系列控制序列的合集。这些控制序列太常用,于是将其打包放在同一个文件中,成为所谓的宏包。使用\usepackage{}可以用来调用宏包。

3.1 方法1

宏集CTeX的优势在于,它能适配于多种编译方式;在内部处理好了中文和中文版式的支持,隐藏了这些细节;并且,提供了不少中文用户需要的功能接口。下面介绍如何使用CTeX宏集来处理中英文混排的文档。

在TeXworks编辑框中输入以下内容,以UTF-8编码保存,使用XeLaTeX编译:

\documentclass[UTF8]{ctexart}
%这里是导言区
\begin{document}
你好,WORLD
\end{document}

输出如下:
在这里插入图片描述
相比【2.1 示例】一节的代码,差异为:
在这里插入图片描述

3.2 方法2

也可直接使用xeCJK宏包来支持中英文混排。在TeXworks编辑框中输入以下内容,保存,使用XeLaTeX编译:

\documentclass{article}
%这里是导言区
\usepackage{xeCJK} %调用xeCJK宏包
\setCJKmainfont{SimSun} %设置CJK主字体为SimSun,即宋体
\begin{document}
你好,WORLD
\end{document}

输出:
在这里插入图片描述
和【3.1 方法1】一节的不同点在于,导言区中多出了两条控制序列,其作用已用注释标出。\setCJKmainfont{}是定义在"xeCJK"宏包中的控制序列,它可以用来设置CJK主字体。

如果TeX提示找不到字体,则请Windows用户打开命令行输入:

fc-list :lang=zh-cn

显示如下(我的电脑上显示中文是乱码,不过这里不是重点,我也不想去查找相关资料,就请忽略吧):
在这里插入图片描述
上图显示可能不清楚,请点击图片然后右键在新窗口中查看。其中的每一行,都代表着一个可用的字体。其形式如下:

<字体文件路径>: <字体标示名1>, <字体表示名2>:Style=<字体类型>

只需要在本节【3.2 方法2】开头的第一段代码用自己想使用的字体名称替换第四行的SimSun即可。

若之前的文档无法编译通过,请在自己的操作系统字体中,选取一个,将其字体表示名填入到\setCJKmainfont{·}中去即可。


4 文章组织

4.1 作者、标题、日期

用XeLaTeX编译如下文档:

\documentclass[UTF8]{ctexart}
\title{您好,世界}
\author{薛伟}
\date{\today}
\begin{document}
\maketitle
你好,WORLD
\end{document}

显示:
在这里插入图片描述
代码中的导言区复杂了很多,但和之前的文档主要的区别只有一处:定义了标题、作者、日期。除此之外在document环境中还多了一个控制序列\maketitle,这个控制序列能将在导言区中定义的标题、作者、日期按照预定的格式展现出来。

4.2 章节和段落

用XeLaTeX编译如下文档:

\documentclass[UTF8]{ctexart}
\title{你好,world!}
\author{流动的风与雪}
\date{\today}
\begin{document}
\maketitle
\section{你好中国}
中国在亚洲东部
\section{Hello Beijing}
北京是中国的首都
\subsubsection{hello dongcheng district}
\paragraph{天安门广场}
is in the center of 天安门广场。
\subparagraph{毛主席}
在天安门中央
\subsection{hello 山西}
\paragraph{中北大学}是我的母校。
\end{document}

显示如下:
在这里插入图片描述
在文档类article/ctexart中,定义了五个控制序列来调整行文组织结构,分别是:
在这里插入图片描述

4.3 插入目录

在上一节即【4.2 章节和段落】的文档中,找到\maketitle,在它的下面插入控制序列\tableofcontents,保存并用XeLaTeX编译两次,观察效果。即代码修改为:

\documentclass[UTF8]{ctexart}
\title{你好,world!}
\author{流动的风与雪}
\date{\today}
\begin{document}
\maketitle
\tableofcontents
\section{你好中国}
中国在亚洲东部
\section{Hello Beijing}
北京是中国的首都
\subsubsection{hello dongcheng district}
\paragraph{天安门广场}
is in the center of 天安门广场。
\subparagraph{毛主席}
在天安门中央
\subsection{hello 山西}
\paragraph{中北大学}是我的母校。
\end{document}

显示如下:
在这里插入图片描述
在文档中插入了目录。

请注意,LaTeX将一个换行当做是一个简单的空格来处理,如果需要换行另起一段,则需要用两个换行来实现,即两段之间需要一个空行。


5 插入公式

在整个【5 插入公式】中,为了节省篇幅,大部分内容将取消导言区中的中文支持的部分。在实际使用中,只需要将导言区中的相关部分加上,就可以同时使用中文和编写数学公式了。为了使用AMS-LaTeX提供的数学功能,需要在导言区加载amsmath宏包:

\usepackage{amsmath}

5.1 数学模式

LaTeX的数学模式有两种:

  • 行内模式(inline),即在正文的行文中,插入数学公式;
  • 行间模式(display),即独立排列单独成行,并自动居中。

在行文中,使用$...$可以插入行内公式,使用\[...\]可以插入行间公式,如果需要对行间公式进行编号,则可以使用equation环境:

\begin{equation}
...
\end{equation}

1、行内公式也可以使用\(...\)或者\begin{math}...\end{math}来插入。
2、无编号的行间公式也可以使用\begin{displaymath}...\end{displaymath}或者\begin{equation*}...\end{equation*}来插入,其中equation*中的*表示环境不编号。

5.2 上下标

示例代码(请保存后,使用XeLaTeX编译,查看效果):

\documentclass{article}
\usepackage{amsmath}
\begin{document}
Einstein's $E=mc^2$.

\[E=mc^2.\]

\begin{equation}
E=mc^2
\end{equation}
\end{document}

显示如下:
在这里插入图片描述
行内公式和行间公式对标点的要求是不同的:

  • 行内公式的标点,应该放在数学模式的限定符之外;
  • 行间公式则应该放在数学模式限定符之内。

在数学模式中,需要表示上标,可以使用^来实现(下标则是_)。它默认只作用于之后的一个字符,如果想对连续的几个字符起作用,请将这些字符用花括号{}括起来,例如:

\[ z = r\cdot e^{2\pi i}. \]

显示如下:
在这里插入图片描述

5.3 根式与分式

根式用\sqrt{·}来表示,分式用\frac{·}{·}来表示(第一个参数为分子,第二个为分母)。示例代码如下:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
$\sqrt{x}$, $\frac{1}{2}$.

\[\sqrt{x},\]

\[\frac{1}{2}.\]

\end{document}

显示如下:
在这里插入图片描述
可以发现,在行内公式(第一个1/2)和行间公式(第二个1/2)中,分式的输出效果是有差异的。如果要强制行内模式的分式显示为行间模式的大小,可以使用\dfrac,反之可以使用\tfrac。

5.4 运算符

一些小的运算符可在数学模式下直接输入;而另一些需要用控制序列生成,如:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[ \pm \] %加减号
\[ \times \] %乘号
\[ \div \] %除号
\[ \cdot \] %点乘
\[ \cap \] %交
\[ \cup \] %并
\[ \geq \] %大于等于
\[ \leq \] %小于等于
\[ \neq \] %不等于
\[ \approx \] %约等于
\[ \equiv \] %恒等
\end{document}

显示如下:
在这里插入图片描述
连加、连乘、极限、积分等大型运算符分别用\sum,\prod,\lim,\int生成。如:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[ \sum \] %连加
\[ \prod \] %连乘
\[ \lim \] %极限
\[ \int \] %积分
\end{document}

显示如下:
在这里插入图片描述
上面四个符号的上下标若显示在行内公式中则会被压缩,以适应行高。可用\limits和\nolimits来强制显式地指定是否压缩这些上下标。例如(注意\quad是输出一个汉字的空白距离):

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\[ \sum_{i=1}^n i \quad \prod_{i=1}^n \] %默认为\limits,即不压缩
\[ \sum\nolimits_{i=1}^n i \quad \prod\nolimits_{i=1}^n \] %被压缩,以适应行高
\[ \lim_{x\to0}x^2 \quad \int_a^b x^2 dx \] %默认为\limits,即不压缩
\[ \lim\nolimits_{x\to0}x^2 \quad \int\nolimits_a^b x^2 dx \] %被压缩,以适应行高

\end{document}

显示如下:
在这里插入图片描述
多重积分可以使用\iint,\iiint,\iiiint,\idotsint等命令输入:

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\[ \iint \]
\[ \iiint \]
\[ \iiiint \]
\[ \idotsint \]

\end{document}

显示如下:
在这里插入图片描述

5.5 定界符(括号等)

各种括号用(),[],\{\},\langle\rangle等命令表示:

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\[ () \]
\[ [] \]
\[ \{\} \] %花括号
\[ \langle\rangle\] %尖括号

\end{document}

显示如下:
在这里插入图片描述
注意花括号通常用来输入命令和环境的参数,所以在数学公式中它们前面要加\。除此之外,竖线符号|||

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\[\lvert\rvert\] %|
\[\lVert\rVert\] %||

\end{document}

显示如下:
在这里插入图片描述
关于调整这些括号等定界符大小的内容,请另找资料进行学习。

5.6 省略号

省略号用\dots,\cdots,\vdots,\ddots等命令表示。\dots和\cdots的纵向位置不同,前者一般用于有下标的序列。

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\[ x_1,x_2,\dots,x_n\quad 1,2,\cdots,n \quad \]
\[ \vdots \quad \ddots \]

\end{document}

显示如下:
在这里插入图片描述

5.7 矩阵

amsmath的pmatrix,bmatrix,Bmatrix,vmatrix,Vmatrix等环境可以在矩阵两边加上各种分隔符。

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\[ \begin{pmatrix} a&b\\c&d \end{pmatrix} \]
\[ \begin{bmatrix} a&b\\c&d \end{bmatrix} \]
\[ \begin{Bmatrix} a&b\\c&d \end{Bmatrix} \]
\[ \begin{vmatrix} a&b\\c&d \end{vmatrix} \]
\[ \begin{Vmatrix} a&b\\c&d \end{Vmatrix} \]

\end{document}

显示如下:
在这里插入图片描述
使用smallmatrix环境,可以生成行内公式的小矩阵:

\documentclass{article}
\usepackage{amsmath}
\begin{document}

Here is a matrix $\begin{smallmatrix} a&b\\c&d \end{smallmatrix}$

\end{document}

显示如下:
在这里插入图片描述

5.8 多行公式

注意:

  • 长公式需要手动换行;
  • 几个公式是一组则需要放在一起;
  • 分段函数需要加上一个左边的花括号。

5.8.1 长公式

5.8.1.1 不对齐

无须对齐的长公式可以使用multline环境。示例代码如下:

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{multline}
x=a+b+c+{}\\
d+e+f+g
\end{multline}

\end{document}

显示如下:
在这里插入图片描述
如果不需要编号,可以使用multline*环境代替。

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{multline*}
x=a+b+c+{}\\
d+e+f+g
\end{multline*}

\end{document}

显示如下:
在这里插入图片描述

5.8.1.2 对齐

需要对齐的公式,可以使用aligned来实现,它必须包含在数学环境之内。

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\[\begin{aligned}
x={}&a+b+c+{}\\
&d+e+f+g
\end{aligned}\]

\end{document}

显示如下:
在这里插入图片描述

5.8.2 公式组

无需对齐的公式组可以使用gather环境,需要对齐的公式组可以使用align环境。他们都带有编号,如果不需要编号可以使用带*的版本。

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{gather}
a=b+c+d\\
x=y+z
\end{gather}

\begin{align}
a&=b+c+d\\
x&=y+z
\end{align}

\end{document}

显示如下:
在这里插入图片描述
不要使用eqnarray环境。

5.8.3 分段函数

分段函数可以用cases环境来实现,它必须包含在数学环境之内。

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\[y=\begin{cases}
-x,\quad x\leq 0\\
x,\quad x>0
\end{cases}\]

\end{document}

显示如下:
在这里插入图片描述


6 插入图表

6.1 图片

利用graphicx宏包提供的\includegraphics命令可插入图片(注意:路径中使用/):

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics{C:/Program Files/2.jpg}
\end{document}

显示如下:
在这里插入图片描述
可以用\includegraphics控制序列的可选参数来控制图片大小,比如:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[width=.5\textwidth]{C:/Program Files/2.jpg}
\end{document}

显示如下:
在这里插入图片描述
这样图片的宽度会被缩放至页面宽度的50%,图片的总高度会按比例缩放。

6.2 表格

tabular环境提供了最简单的表格功能。它用\hline命令表示横线,在列格式中用|表示竖线;用&来分列,用\\来换行;每列可以采用居左、居中、居右等横向对齐方式,分别用l、c、r来表示。

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{tabular}{|r|l|c|}
\hline
name&sex&age\\
\hline
naruto&male&18\\
\hline
sasuke&male&18\\
\hline
sakura&female&18\\
\hline
\end{tabular}
\end{document}

显示如下:
在这里插入图片描述

6.3 浮动体

插图和表格通常需要占据大块空间,所以经常需要调整他们的位置。而figure和table环境可以自动完成这样的任务——这种自动调整位置的环境称作浮动体(float)。下面以figure为例:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}[htbp]
\centering
\includegraphics{C:/Program Files/2.jpg}
\caption{Windows10}
\label{fig:myphoto}
\end{figure}
\end{document}

htbp选项用来指定插图的理想位置,这几个字母分别代表here、top、bottom、floatpage,也就是就【这里、页顶、页尾、浮动页(专门放浮动体的单独页面或分栏)】。\centering用来使插图居中;\caption命令设置插图标题,LaTeX会自动给浮动体的标题加上编号。注意\label应该放在标题命令之后。


7 版面设置

7.1 页边距

使用geometry宏包设置页边距。如希望将纸张的长度设置为20cm、宽度设置为15cm、左边距1cm、右边距2cm、上边距3cm、下边距4cm,可以在导言区加上这样几行:

\usepackage{geometry}
\geometry{papersize={20cm,15cm}}
\geometry{left=1cm,right=2cm,top=3cm,bottom=4cm}

7.2 页眉页脚

使用fancyhdr宏包设置页眉页脚,如希望在页眉左边写上名字,中间写上今天的日期,右边写上电话;页脚的正中写上页码;页眉和正文之间有一道宽为0.4pt的横线分割:

\documentclass{article}
\usepackage{fancyhdr}
\pagestyle{fancy}
\lhead{xw}
\chead{\today}
\rhead{1234567890}
\cfoot{\thepage}
\renewcommand{\headrulewidth}{0.4pt}
\begin{document}
hello
\end{document}

显示如下:
在这里插入图片描述

7.3 首行缩进

CTeX宏集已经处理好了首行缩进的问题(每个自然段前默认空两格汉字宽度)。因此,使用CTeX宏集进行中西文混合排版时,不需要关注首行缩进的问题。

7.4 行间距

通过setspace宏包提供的命令来调整行间距。比如在导言区添加如下内容,可以将行距设置为字号的1.5倍:

\usepackage{setspace}
\onehalfspacing

请注意用词的差别:

  • 行距是字号的1.5倍;
  • 1.5倍行距。

7.5 段间距

通过修改长度\parskip的值来调整段间距。例如在导言区添加以下内容:

\addtolength{\parskip}{.4em}

则可以在原有的基础上,增加段间距0.4em。如果需要减小段间距,只需将该数值改为负值即可。


8 Tex家族

  • TeX-pdfTeX-XeTeX-LuaTeX都是排版引擎,按照先进程度递增。
  • LaTeX是一种格式,基于TeX格式定义了很多更方便使用的控制命令。上述四个引擎都有对应的程序将LaTeX格式解释成引擎能处理的内容。
  • CTeX、MiKTeX、TeXLive都是TeX的发行,他们是许许多多东西的集合。

9 参考文献

一份其实很短的LaTeX入门文档


END

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值