Latex原来是这样的
前言
之前只有在word里偶尔用Latex写一下复杂的公式(我使用墨迹公式搞不定的那种),记录了一下自己学习Latex的过程。
Latex不仅仅是公式编辑器
了解Tex。
Tex是Donald Ervin Knuth研发的免费、开源的排版系统,是为了“改变排版界糟糕的排版技术”,用于排版他的系列著作《计算机程序艺术》。
LaTeX 是基于 TeX 的宏集,其作者是 Lamport 博士,他的姓氏开头的两个字母 La与底层排版系统 TeX 相结合,就组成了名称 LaTeX。LaTeX 在 TeX 基础上定义了众多的宏命令,使得用户可以更方便地进行排版。
使用Latex的优点:
- 底层的 TeX 系统已经很多年没有进行大的变动了,注重稳定;
- 允许以数字参数的方式把排版内容写到任意的位置,量化的参数意味着精确;
- 底层的空距调整机制,以及对于数学公式近乎完美的支持,则确保了排版效果的美观
- 丰富的功能以及易寻的帮助文档,众多的 LaTeX 宏包赋予了 LaTeX 强大的扩展功能,它们都自带文档以供学习。
Latex编辑器
可以使用在线网站编辑Latex
- Overleaf,https://www.overleaf.com/
- ShareLaTeX,https://cn.sharelatex.com/
也可以安装在本地,下面是具体步骤:
安装Tex Live
Tex Live是开源免费的,官网下载即可,网址:http://www.tug.org/texlive/页面如图:
选择download,下载相应版本,我是windows版本,所以选择install-tl-windows.exe,如图:
下载打开安装即可,选择一个国内的镜像,速度会友好一点(但我在线安装还是花了四五个小时),如图:
之后,可以修改安装路径,其他选项默认即可。
最后检测环境变量是否自动配置完成,在cmd输入latex,如图:
Latex的“Hello,world!”
使用记事本、TeXworks(Tex live默认安装了)或者Tex studio都可以编写文档。与日常所用的MS 的 word不同,每次编写完文档后需要编译,才能获得所需的pdf文档。如图:
既然都编译了,那么一定少不了bug 的存在。为了尽量减轻找bug的负担,一定要尽量勤快点编译,不要写了几百行之后再编译,错误有点难找。
可能出现的问题
- Undefined control sequence.
l.170 \ctex_gadd_hook:Nn
Package ctex Warning: UTF8 will be used as the default encoding. - ! Package inputenc Error: Unicode character 你 (U+4F60)
(inputenc) not set up for use with LaTeX.
这两个错误都是由于文档张含有中文的问题,如图:
现在常用的输入中文或者中英文文档是采用CTeX,以UTF-8保存,使用XeLaTeX编译,如图:
如果还存在问题,利用包管理工具,安装缺少的包。
【PS:在文档中的引用的文件、图片均为英文命名,否则会有意外的惊喜】
在上面,可以看到有很多选择,TeX - pdfTeX - XeTeX - LuaTeX 都是排版引擎,按照先进程度递增。
LaTeX 是一种格式,基于 TeX 格式定义了很多更方便使用的控制命令,pdfLatex、XeLatex、LuaLaTex都可以将LaTex格式解释成上述引擎所能处理的内容。
Latex基础
学习Latex给我的感觉,有点写html标签对的感觉。需要什么加什么,调整格式看一看相关的文档,下面是常用的一些格式:
\documentclass{
ctexart}
\title{
Latex原来是这样的}
\author{
IFappy}
\date{
\today}
\begin{
document}
\maketitle %定义的标题、作者、日期按照预定的格式展现出来
\tableofcontents %目录
\section{
Latex编辑器} %第一章
可以使用在线网站编辑Latex
\subsection{
安装Tex Live} %第一章第一节
安装成功了!
\subsubsection{
bug} %第一章第一节第一部分
\paragraph{
Undefined control sequence.} %段落
is a problem that you can solve it through ...
\subparagraph{
success}
congratulations!
\subsection{
Hell,Latex}
\end{
document}
效果如图:
Latex——数学公式神器
想要在文档中插入数学公式,首先要加入下面这个包:
\usepackage{
amsmath} %插入数学包
两种插入公式方式
1. 行内插入使用$...$;
2. 单独一行插入,使用\[ ... \] 或者$$...$$
上下标
在数学模式中, ^ 来实现上标,下标是 _。它默认只作用于之后的一个字符,如果想对连续的几个字符起作用,用花括号 {} 括起来。
\subsection{
上下标}
\[ z = r\cdot e^{
2\pi i}. \]
根式与分式
\sqrt{·} 表示根式, \frac{·}{·} 表示分式(第一个参数为分子,第二个为分母)
\subsection{
根式与分式}
\[ \sqrt{
x}, \] %根式
\[ \frac{
a}{
b}. \] %分式
运算符
连加、连乘、极限、积分等大型运算符分别用 \sum, \prod, \lim, \int 生成。他们的上下标在行内公式中被压缩,以适应行高。我们可以用 \limits 和 \nolimits 来强制显式地指定是否压缩这些上下标。
多重积分可以使用 \iint, \iiint, \iiiint, \idotsint 等命令输入。
\subsection{
运算符}
一些小的运算符,可以在数学模式下直接输入;另一些需要用控制序列生成,如:
\[ \pm\; \times \; \div\; \cdot\; \cap\; \cup\;\geq\; \leq\; \neq\; \approx \; \equiv \]
连加、连乘、极限、积分生成例如:
$ \sum_{
i=1}^n i\quad \prod_{
i=1}^n $
$ \sum\limits _{
i=1}^n i\quad \prod\limits _{
i=1}^n $
\[ \lim_{
x\to0}x^2 \quad \int_a^b x^2 dx \]
\[ \lim\nolimits _{
x\to0}x^2\quad \int\nolimits_a^b x^2 dx \]
多重积分,如:
\[ \iint\quad \iiint\quad \iiiint\quad \idotsint \]
省略号
省略号用 \dots, \cdots, \vdots, \ddots 等命令表示。\dots 和 \cdots 的纵向位置不同,前者一般用于有下标的序列。
\subsection{
省略号}
\[ x_1,x_2,\dots ,x_n\quad 1,2,\cdots ,n\quad
\vdots\quad \ddots \]
矩阵
pmatrix, bmatrix, Bmatrix, vmatrix, Vmatrix 等环境可以在矩阵两边加上各种分隔符。
\subsection{
矩阵}
\[ \begin{
pmatrix} a&b\\c&d \end{
pmatrix} \quad
\begin{
bmatrix} a&b\\c&d \end{
bmatrix} \quad
\begin{
Bmatrix} a&b\\c&d \end{
Bmatrix} \quad
\begin{
vmatrix} a&b\\c&d \end{
vmatrix} \quad
\begin{
Vmatrix} a&b\\c&d \end{
Vmatrix} \]
多行公式
\subsection{
长公式——不对齐}
\begin{
multline}
x = a+b+c+{
} \\
d+e+f+g
\end{
multline}
\subsection{
长公式——对齐}
\[\begin{
aligned}
x ={
}& a+b+c+{
} \\
&d+e+f+g
\end{
aligned}\]
公式组
\subsection{
公式组}
\begin{
gather}
a = b+c+d \\
x = y+z
\end{
gather}
\begin{
align}
a &= b+c+d \\
x &= y+z
\end{
align}
分段函数
\[ y= \begin{
cases}
-x,\quad x\leq 0 \\
x,\quad x>0
\end{
cases} \]
示例如下:
\documentclass{
ctexart}
\title{
Latex原来是这样的}
\author{
IFappy}
\date{
\today}
\usepackage{
amsmath} %使用数学包
\begin{
document}
\maketitle %定义的标题、作者、日期按照预定的格式展现出来
\tableofcontents %目录
\section{
Latex编辑器} %第一章
可以使用在线网站编辑Latex
\subsection{
安装Tex Live} %第一章第一节
安装成功了!
\subsubsection{
bug} %第一章第一节第一部分
\paragraph{
Undefined control sequence.} %段落
is a problem that you can solve it through ...
\subparagraph{
success}
congratulations!
\subsection{
Hell,Latex}
\section{
Latex数学公式}
\subsection{
上下标}
\[ z = r\cdot e^{
2\pi i}. \]
\subsection{
根式与分式}
\[ \sqrt{
x}, \] %根式
\[ \frac{
a}{
b}. \] %分式
\subsection{
矩阵}
\[ \begin{
pmatrix} a&b\\c&d \end{
pmatrix} \quad
\begin{
bmatrix} a&b\\c&d \end{
bmatrix} \quad
\begin{
Bmatrix} a&b\\c&d \end{
Bmatrix} \quad
\begin{
vmatrix} a&b\\c&d \end{
vmatrix} \quad
\begin{
Vmatrix} a&b\\c&d \end{
Vmatrix} \]
\subsection{
运算符}
一些小的运算符,可以在数学模式下直接输入;另一些需要用控制序列生成,如:
\[ \pm\; \times \; \div\; \cdot\; \cap\; \cup\;\geq\; \leq\; \neq\; \approx \; \equiv \]
连加、连乘、极限、积分生成例如:
$ \sum_{
i=1}^n i\quad \prod_{
i=1}^n $
$ \sum\limits _{
i=1}^n i\quad \prod\limits _{
i=1}^n $
\[ \lim_{
x\to0}x^2 \quad \int_a^b x^2 dx \]
\[ \lim\nolimits _{
x\to0}x^2\quad \int\nolimits_a^b x^2 dx \]
多重积分,如:
\[ \iint\quad \iiint\quad \iiiint\quad \idotsint \]
\subsection{
省略号}
\[ x_1,x_2,\dots ,x_n\quad 1,2,\cdots ,n\quad
\vdots\quad \ddots \]
\subsection{
长公式——不对齐}
\begin{
multline}
x = a+b+c+{
} \\
d+e+f+g
\end{
multline}
\subsection{
长公式——对齐}
\[\begin{
aligned}
x ={
}& a+b+c+{
} \\
&d+e+f+g
\end{
aligned}\]
\subsection{
公式组}
\begin{
gather}
a = b+c+d \\
x = y+z
\end{
gather}
\begin{
align}
a &= b+c+d \\
x &= y+z
\end{
align}
\subsection{
分段函数}
\[ y= \begin{
cases}
-x,\quad x\leq 0 \\
x,\quad x>0
\end{
cases} \]
\end{
document}
效果图: