LaTex教程
- 安装TexLive
-
- 几个常用命令
- 安装集成开发环境TexStudio
-
- **安装成功后结果如下**
- LaTex源文件的基本结构
-
- 教学原视频
- 基本结构
-
- 运行结果
- LaTex中的中文处理方法
-
- 教学原视频
- 主要采取xelatex+ctex来处理中文
-
- 运行结果
- 直接使用ctex文档类,参考ctex帮助文档
-
- 执行结果
- LaTex的字体字号设置
-
- 字体属性
-
- 字体编码
-
- 内容
- 代码
- 字体族
-
- 内容
- 代码
- 运行结果
- 中文字体族
-
- 代码
- 字体系列
-
- 内容
- 代码
- 字体形状
-
- 内容
- 代码
- 字体大小
-
- 英文字体大小代码
- 中文字体大小代码
- LaTex文档的篇章结构
- LaTex中的特殊字符
-
- 空白符号
-
- 空格命令
- \\LaTex控制符
-
- 运行结果
- 排版符号
-
- 运行结果
- \\Tex标志符号
-
- 运行结果
- 其他几个特殊的宏包包含的字符
- 引号
-
- 运行结果
- 连字符
-
- 运行结果
- 非英文字符
-
- 运行结果
- 重音符号(以o为例)
-
- 运行结果
- LaTex中的插图
- LaTex中的表格
-
- 基本语法说明
- 特殊表格的帮助文件
- LaTeX中的浮动体
-
- 特殊浮动体的帮助文件
- LaTex的数学公式初步
-
- 行内公式
-
- 采取美元符号
- 采取小括号
- 采取math环境
- 上下标
-
- 上标
- 下标
- 希腊字母
-
- 大写部分
- 小写字母
- 数学函数
- 分式
- 行间公式(公式单独一行,可以实现自动编号)
-
- 使用美元符号
- 使用中括号
- 使用displaymath环境
- 创建自动编号公式——使用equation环境
-
- 运行结果
- 创建不编号公式——使用equation*环境
-
- 运行结果
- LaTex的数学公式的矩阵
-
- 基本结构
- 结果(写csdn katex时,基本上把latex语句前后加上$$符号就能识别,注意\$符号必须前后紧贴代码)
- 矩阵左右两端带小括号
- 结果
- 矩阵左右两端带中括号
- 结果
- 矩阵左右两端带大括号
- 结果
- 矩阵左右两端带单竖线
- 结果
- 矩阵左右两端带双竖线
- 结果
- 矩阵中的省略号
-
- 实例
- 结果
- 分块矩阵(利用矩阵的嵌套)
-
- 结果为
- 三角矩阵
-
- 结果KaTex不兼容)
- 跨列省略号
-
- 结果(KaTex不兼容)
- 行内小矩阵
-
- 结果Katex不兼容)
- 使用array环境排版矩阵(类似表格环境用法)
-
- 结果
- LaTex的数学公式的多行公式
-
- 带编号
-
- 结果(KaTex不兼容)
- 不带编号
-
- 结果(KaTex不兼容)
- 阻止编号,使用\notag命令
-
- 结果(KaTex不兼容)
- 多行公式的排版——\align
-
- 运行结果
- 同一个公式的多行排版——\split
-
- 运行结果
- 分段函数的排版——cases环境
-
- 结果
- LaTex中的参考文献BibTex
- LaTex中的参考文献BibLaTex
- LaTex中的自定义命令和环境
安装TexLive
LaTex安装教程(TeXLive2020)
观看视频学习安装更新具体操作
几个常用命令
- 文档中无中文,编译用pdflatex ‘文件名’.tex ;
- **文档中有中文,则保存tex文件选用utf-8编码,代码中高亮部分必须添加下面这句 **
\usepackage{ctex},用于引入宏包,最后编译用xelatex ‘文件名’.tex
文档代码如下
\documentclass{article}\usepackage{ctex}
\begin{document}Hello \LaTeX{} 中文.
\end{document}
- 查询帮助文档,使用cmd命令
- texdoc ctex 查看ctex中文排版宏集的使用说明书
- texdoc lshort-zh-cn 查看一份不太简短的LaTex2e文档
- texdoc symbols-a4 查看各类数学符号表
- texdoc beamer 查看beamer演示文稿制作使用说明书
安装集成开发环境TexStudio
不安装,其实使用TexLive自带编辑器加上面视频的命令行方式也足以胜任Latex的开发
具体安装方法,同上面的视频
安装成功后结果如下
LaTex源文件的基本结构
教学原视频
【1天玩转LaTeX】【写论文不怕格式出错啦!!!】【耿楠教授授权发布】
基本结构
最基础文档格式
%导言区 进行全局设置 %为注释符号
\documentclass{article}%引入一个类,也有book,report,letter类%正文区(文稿区)
\begin{document}%用begin和end设置一个环境,一个LaTex文件有且只能有一个环境内容...
\end{document}
比较完整的结构
%导言区 进行全局设置 %为注释符号
\documentclass{article}%引入一个类,也有book,report,letter类
%letter类没有\maketitle命令,article类没有封面,book和report类分正文和封面
\title{My First Document}%title命令来设置文章标题
\author{ZHAO}%author命令来设置文章作者
\date{\today}%date命令来设置编辑文章的时间,\today表示今天%正文区(文稿区)
\begin{document}%用begin和end设置一个环境,一个LaTex文件有且只能有一个环境\maketitle %输出标题,作者,时间信息Hello World!HI%可以通过空行来表示换行,注意上面的空行不能有任何东西哦,注释也不行,Latex多个空行也看成单个空行%正文部分也可以包含数学公式,分两种格式,在下面的目录会有
\end{document}
运行结果
LaTex中的中文处理方法
教学原视频
【1天玩转LaTeX】【写论文不怕格式出错啦!!!】【耿楠教授授权发布】
主要采取xelatex+ctex来处理中文
- 编码一定要选utf-8
- 要用usepackage导入ctex宏包
- 选用xelatex编译器或者更智能的latexmk(需要设置其默认编译器为xelatex)
代码如下
%导言区 进行全局设置 %为注释符号
\documentclass{article}
\usepackage{ctex} %引入宏包
\title{My First Document}%title命令来设置文章标题
\author{ZHAO}%author命令来设置文章作者
\date{\today}%date命令来设置编辑文章的时间,\today表示今天%正文区(文稿区)
\begin{document}%用begin和end设置一个环境,一个LaTex文件有且只能有一个环境\maketitle Hello World!你好呀HI
\end{document}
运行结果
直接使用ctex文档类,参考ctex帮助文档
%导言区 进行全局设置 %为注释符号
\documentclass{ctexart}%引入一个类,也有ctexbook,ctexrep,ctexbeamer类,没有letter类%\usepackage{ctex}
\title{\songti 宋体标题}%title命令来设置文章标题,也可以设置字体
\author{\heiti 黑体作者}%author命令来设置文章作者
\date{\today}%date命令来设置编辑文章的时间,\today表示今天%正文区(文稿区)
\begin{document}%用begin和end设置一个环境,一个LaTex文件有且只能有一个环境\maketitle %输出标题,作者,时间信息Hello World!你好呀HI
\end{document}
执行结果
LaTex的字体字号设置
字体属性
包含5种属性
字体编码
内容
- 正文字体编码:OT1、T1、EU1等
- 数学字体编码:OML、OMS、OMX等
代码
字体族
内容
- 罗马字体:笔画起始处有装饰
- 无衬线字体:笔画起始处无装饰
- 打印机字体:每个字符宽度相同,又称等宽字体
代码
\documentclass{ctexart}\begin{document}%字体族设置(罗马字体,无衬线字体、打字机字体)\textrm{Roman Family} \textsf{Sans Serif Family} \texttt{Typewriter Family}\rmfamily Roman Family%声明后续字体均为罗马字体 {\sffamily Sans Serif Family} {\ttfamily Typewriter Family}%这种字体声明的方式可以用大括号来限制其作用范围aaaaaaa%仍为罗马字体\ttfamily what are you doing ?%若无括号,当遇到下一个字体声明命令时,上一个命令终止,往下的字体为新字体
\end{document}
运行结果
中文字体族
代码
代码逻辑类似字体设置的,因此下面只列出一些常见命令
\songti 宋体
\quad%空格
\heiti 黑体
\fangsong 仿宋
\kaishu 楷书
\textbf 中文字体的粗体(用黑体表示)
\textit 中文字体的斜体(用楷书表示)
字体系列
内容
- 粗细
- 宽度
代码
代码逻辑类似字体设置的,因此下面只列出一些常见命令
\mdseries \textmd{…} medium 正常粗细(中等)
\bfseries \textbf{…} bold face 粗体
字体形状
内容
- 直立
- 斜体
- 伪斜体
- 小型大写
代码
代码逻辑类似字体设置的,因此下面只列出一些常见命令
\upshape \textup{…} upright 直立体
\itshape \textit{…} italic 意大利斜体
\slshape \textsl{…} slanted 倾斜体
\scshape \textsc{…} SMALL CAPS 小字母大写
\em \emph{…} emphasized 强调,默认斜体
\normalfont \textnormal{…} normal font 默认字体
字体大小
英文字体大小代码
这些指令使字体字号发生改变,但是改变后的字号是随标准文档类中的字号大小改变而改变的。
通过下列命令改变标准文档类的字体大小
\documentclass [10pt]{article}
中文字体大小代码
具体参考ctex帮助文件
\zhihao {-0} 文字 %-0号是小初号 5是5号
LaTex文档的篇章结构
篇章结构由\tableofcontents自动生成目录,\chapter{章节名称} \section{小节名称} \subsection{子小节名称} \subsubsection{子小节的下一级小节}%在ctexbook格式中不起作用等命令组成,中文文章具体细节参考ctex帮助文件,利用ctexset命令对已有排版格式进行修改,英文参考lshort-zh帮助文档
其中空行和\par命令需要和之后的文字间有空格间隔)都能实现分段操作(带首行缩进)
\\实现换行操作(不带缩进)
LaTex中的特殊字符
空白符号
- 使用空行分段,多个空行等同于1个空行
- 首行自动缩进,绝对不能使用空格代替
- 英文中多个空格视为1个空格,中文字符间的空格被忽略
- 汉字与其他字符的间距会自动由XeLaTex处理
- 禁止使用中文全角空格
空格命令
- \quad产生1em的空格(相当于当前字体中大写M的宽度)
- \qquad产生2em的空格
- \,或者\thinspace产生1/6em的空格
- \enspace产生0.5em的空格
- \ 空格命令) 产生1个空格
- ~产生硬空格,不能分割的空格
- \kern 1pc 或者\kern -1em(-1是指长度为负值,此时后方字符会移动到前方字符前)产生指定宽度的空白,宽度由后面参数来指定,1pc=12pt=4.218mm
- \hskip 1em产生指定宽度的空白,宽度由后面参数来指定
- \hspace{35pt}产生指定宽度的空白,宽度由后面参数的占位符宽度指定
- \hphantom{xym}产生指定宽度的空白,宽度由后面参数来指定
- \hfill产生弹性宽度
\LaTex控制符
\# \$ \% \{ \} \~{} \_{} \^{} \textbackslash%产生反斜杠 \&
上述为LaTex控制符
运行结果
排版符号
\S \P \dag \ddag \copyright \pounds
上述为排版符
运行结果
\Tex标志符号
\TeX{} \LaTeX{} \LaTeXe{}
\XeLaTex%需要用\usepackage引入xltxtra宏包方可使用
上述为标志符
运行结果
其他几个特殊的宏包包含的字符
引号
在LaTex左右引号是不同的符号,先说左引号: `表示左单引号``表示左双引号
右引号: ‘表示右单引号’'表示右双引号
运行结果
连字符
短连字符–中连字符– –长连字符– – –
运行结果
非英文字符
运行结果
重音符号(以o为例)
运行结果
LaTex中的插图
- 导言区引入宏包\usepackage{graphicx}
- 引用图片语法格式:\includegraphics[<可选参数,不同参数间用,分隔>]{<必选参数文件名(带不带后缀都行)>}其中可选参数用于指定图像的缩放比例,旋转参数等
- 可选参数scale=<小数>
height=<数字带单位或者使用0.2\textheight表示版型文本高度的0.2倍>
width=<同height,只不过命令变为\textwidth> ,angle=<数字>
分别设置缩放比例,高度,宽度,旋转角度 - 支持的图像格式EPS,PDF,PNG,JPEG,BMP
- 指定图像文件的搜索路径\graphicspath{{figures/},{pics/}}指定图片在当前目录下的figures目录和pics目录,用大括号实现分层
也可以在cmd中输入texdoc graphicx查看帮助文档
LaTex中的表格
基本语法说明
- 在正文区简历tabular环境:基本结构如下列代码
\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
<表项>&<表项>&......&<表项>&<表项>\\
......
\end{tabular}
- 用\\表示换行
- 用&表示不同的列
- 在列格式说明中用字母l表示本列左对齐
- 在列格式说明中用字母c表示本列居中对齐
- 在列格式说明中用字母r表示本列右对齐
- 在列格式说明中用p{<宽度>}使本列宽度固定,可以实现自动换行
- 在列格式中l|c|c|c|c|r中|表示添加竖线,||表示添加双竖线
- 在每行换行符之后\hline表示添加横线,连写两次命令表示添加双横线
特殊表格的帮助文件
- 可以在cmd中输入texdoc booktab查看三线表格帮助文档
- 可以在cmd中输入texdoc longtab查看跨页长表格帮助文档
- 可以在cmd中输入texdoc tabu查看综合表格帮助文档
LaTeX中的浮动体
浮动体可以实现灵活分页(避免无法分割的内容产生的页面留白);给图标加标题;实现文章中对图表的交叉引用
- 在正文区浮动体figure环境:基本结构如下列代码
\begin{figure}{figure}[<允许位置>]
<任意内容>
\end{tabular}
- 可变参数说明
参数(默认参数tbp) | 含义 |
---|---|
h | 此处,代码所在的上下文位置 |
t | 页顶,代码所在页面或之后页面的顶部 |
b | 页底,代码所在页面或之后页面的底部 |
p | 独立一页,浮动页面 |
- 浮动体内部使用\centering命令使本浮动体内的内容居中排列
- 交叉引用的格式如下
\caption{}%创建标题\label{fig-<自定义名字>}%在图像标题创建语句之后添加
\label{tab-<自定义名字>}%在列表标题创建语句之后添加\ref{fig-<自定义名字>}%在正文中要引用图像的地方使用这句话
\ref{tab-<自定义名字>}%在正文中要引用表格的地方使用这句话
特殊浮动体的帮助文件
- caption bicaption宏包查看标题控制
- subcaption subfig floatrow宏包查看并排与子图表
- picinpar wrapfig宏包查看绕排
LaTex的数学公式初步
行内公式
采取美元符号
$ <放入公式> $
例:$ a+b=b+a $
采取小括号
<放入公式> )
采取math环境
\begin{math}<放入公式>
\end{math}
上下标
上标
- 单个字符直接采用x^2这种格式
- 多个字符或者一个公式采取 x^{20}
这种格式
下标
- 单个字符直接采用x_2这种格式
- 多个字符或者一个公式采取 x_{20}
这种格式
希腊字母
大写部分
小写字母
数学函数
命令 | 结果 |
---|---|
\log | log |
\sin | sin |
\cos | cos |
\arcsin | arcsin |
\arccos | arccos |
\ln | ln |
\sqrt[m]{x} | xm\sqrt[m]{x}mx |
分式
命令 | 结果 |
---|---|
\frac{a}{b} | ab\frac{a}{b}ba |
行间公式(公式单独一行,可以实现自动编号)
使用美元符号
代码 | 结果 |
---|---|
$$ a+b=b+a $$ | a+b=b+aa+b=b+a a+b=b+a |
使用中括号
代码 | 结果 |
---|---|
\ [ a+b=b+a \] | a+b=b+aa+b=b+a a+b=b+a |
使用displaymath环境
在正文区使用
\begin{displaymath}<放入公式>
\end{displaymath}
katex中使用
$$\begin{aligned}a+b=b+c
\end{aligned}$$
效果为
a+b=b+c\begin{aligned} a+b=b+c \end{aligned}a+b=b+c
创建自动编号公式——使用equation环境
在正文区使用
\begin{equation}<放入公式>
\end{equation}
运行结果
创建不编号公式——使用equation*环境
在正文区使用,并且需要使用amsmath宏包
\begin{equation*}<放入公式>
\end{equation*}
运行结果
LaTex的数学公式的矩阵
基本结构
\documentclass{article}
\usepackage{amsmath}%必须引入此包
\begin{document}\[\begin{matrix}0&1\\%用&分隔列,\\换行1&0\end{matrix}\]
\end{document}
结果(写csdn katex时,基本上把latex语句前后加上$$符号就能识别,注意$符号必须前后紧贴代码)
0110\begin{matrix} 0 &1 \\ 1&0 \end{matrix}0110
矩阵左右两端带小括号
\documentclass{article}
\usepackage{amsmath}%必须引入此包
\begin{document}\[\begin{pmatrix}0&1\\1&0\end{pmatrix}\]
\end{document}
结果
0110)\begin{pmatrix} 0 &1 \\ 1&0 \end{pmatrix}0110)
矩阵左右两端带中括号
\documentclass{article}
\usepackage{amsmath}%必须引入此包
\begin{document}\[\begin{bmatrix}0&1\\1&0\end{bmatrix}\]
\end{document}
结果
[0110]\begin{bmatrix} 0 &1 \\ 1&0 \end{bmatrix}[0110]
矩阵左右两端带大括号
\documentclass{article}
\usepackage{amsmath}%必须引入此包
\begin{document}\[\begin{Bmatrix}0&1\\1&0\end{Bmatrix}\]
\end{document}
结果
{0110}\begin{Bmatrix} 0 &1 \\ 1&0 \end{Bmatrix}{0110}
矩阵左右两端带单竖线
\documentclass{article}
\usepackage{amsmath}%必须引入此包
\begin{document}\[\begin{vmatrix}0&1\\1&0\end{vmatrix}\]
\end{document}
结果
∣0110∣\begin{vmatrix} 0 &1 \\ 1&0 \end{vmatrix}∣∣∣∣0110∣∣∣∣
矩阵左右两端带双竖线
\documentclass{article}
\usepackage{amsmath}%必须引入此包
\begin{document}\[\begin{Vmatrix}0&1\\1&0\end{Vmatrix}\]
\end{document}
结果
∥0110∥\begin{Vmatrix} 0 &1 \\ 1&0 \end{Vmatrix}∥∥∥∥0110∥∥∥∥
矩阵中的省略号
命令 | 结果 |
---|---|
\dots | …\dots… |
\vdots | ⋮\vdots⋮ |
\ddots | ⋱\ddots⋱ |
实例
\documentclass{article}
\usepackage{amsmath}%必须引入此包
\begin{document}\[A=\begin{bmatrix}a_{11}&\dots&a_{1n}\\&\ddots&\vdots\\0&&a_{nn}\end{bmatrix}_{n \times n}%用\times命令来写下标\]
\end{document}
结果
A=[a11…a1n⋱⋮0ann]n×nA=\begin{bmatrix} a_{11}&\dots&a_{1n}\\ &\ddots&\vdots\\ 0&&a_{nn} \end{bmatrix}_{n \times n}A=⎣⎢⎡a110…⋱a1n⋮ann⎦⎥⎤n×n
分块矩阵(利用矩阵的嵌套)
\documentclass{article}
\usepackage{amsmath}
\begin{document}\[\begin{pmatrix}\begin{matrix}1&0\\0&1\end{matrix}& \text{\Large 0}\\%\text{text}命令为临时从数学模式切换为文本模式\text{\Large 0}&\begin{matrix}1&0\\0&1\end{matrix}\end{pmatrix} \]
\end{document}
结果为
1001001001)\begin{pmatrix} \begin{matrix} 1&0\\0&1 \end{matrix} & \text{\Large 0}\\%\text{text}命令为临时从数学模式切换为文本模式 \text{\Large 0} &\begin{matrix} 1&0\\0&1 \end{matrix} \end{pmatrix}⎝⎜⎜⎛1001001001⎠⎟⎟⎞
三角矩阵
\documentclass{article}
\usepackage{amsmath}
\begin{document}\[\begin{pmatrix}a_{11}&a_{12}&\dots&a_{1n}\\&a_{22}&\dots&a_{2n}\\& &\ddots&\vdots\\\multicolumn{2}{c}{\raisebox{1.3ex}[0pt]{\Huge 0}}%\multicolumn{cols}{pos}{text}表示合并多行,\raisebox表示调整大小& &a_{nn}\end{pmatrix} \]
\end{document}
结果KaTex不兼容)
KaTex结果
a11a12…a1na22…a2n⋱⋮ann)\begin{pmatrix} a_{11}&a_{12}&\dots&a_{1n}\\ &a_{22}&\dots&a_{2n}\\ & &\ddots&\vdots\\ & & &a_{nn} \end{pmatrix}⎝⎜⎜⎜⎛a11a12a22……⋱a1na2n⋮ann⎠⎟⎟⎟⎞
LaTex结果
跨列省略号
命令 | 结果 |
---|---|
\hdotsfor{<列数>} | KaTeX parse error: Undefined control sequence: \hdotsfor at position 1: \̲h̲d̲o̲t̲s̲f̲o̲r̲{5} |
\documentclass{article}
\usepackage{amsmath}
\begin{document}\[\begin{pmatrix}1& \frac 12 & \dots & \frac 1n\\\hdotsfor{4}\\m& \frac{m}{2}&\dots&\frac{m}{n}\end{pmatrix} \textsf{}\]
\end{document}
结果(KaTex不兼容)
行内小矩阵
\documentclass{article}
\usepackage{amsmath}
\begin{document}\begin{math}\left %手动加左右括号\begin{smallmatrix}x&-y\\y&x\end{smallmatrix}\right)\end{math}
\end{document}
结果Katex不兼容)
使用array环境排版矩阵(类似表格环境用法)
\documentclass{article}
\usepackage{amsmath}
\begin{document}\[\begin{array}{r|r}\frac{1}{2} &0\\\hline0& -\frac{a}{b}c\\\end{array}\]
\end{document}
结果
1200−abc\begin{array}{r|r} \frac{1}{2} &0\\ \hline 0& -\frac{a}{b}c\\ \end{array}2100−bac
LaTex的数学公式的多行公式
带编号
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}%带编号\begin{gather}a+b=b+a\\avbbv\end{gather}
\end{document}
结果(KaTex不兼容)
不带编号
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}%不带编号\begin{gather*}a+b=b+a\\aaaa\end{gather*}
\end{document}
结果(KaTex不兼容)
阻止编号,使用\notag命令
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}%带编号\begin{gather}a+b=b+a\\avbbv\\avbbv11 \notag\end{gather}\end{document}
结果(KaTex不兼容)
多行公式的排版——\align
- 每行公式用&符号对应的位置对齐
- 同样也分带编号与不带编号的两种情况
- 可以含有多个&,当数目不相等的时候,会优先从前往后排,多余的&后面的元素直接与&少的式子最后一个元素对齐
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}%带编号\begin{align}x&=t+&\cos t+1\\y&=&2\sin t\end{align}%不带编号\begin{align*}x&=t+\cos t+1\\y&=2\sin t\end{align*}
\end{document}
运行结果
同一个公式的多行排版——\split
对齐规则和align一样,编号在中间
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}\begin{equation}\begin{split}\cos 2x &=\cos^2x -\sin^2x \\&=2\cos^2x-1\end{split}\end{equation}
\end{document}
运行结果
分段函数的排版——cases环境
- 每行公式中使用&分隔为两部分
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}\begin{equation}Dx)=\begin{cases}1, x \in \mathbb{Q};\\0,x \in \mathbb{R}\setminus\mathbb{Q}\end{cases}\end{equation}
\end{document}
结果
Dx)={1,x∈Q;0,x∈R∖QDx)=\begin{cases} 1, x \in \mathbb{Q};\\ 0,x \in \mathbb{R}\setminus\mathbb{Q} \end{cases}Dx)={1,x∈Q;0,x∈R∖Q