文章目录
latex环境配置
latex环境需要先下载一个texlive(类似于java的jdk,是一个编译器),然后同时还需要下载一个编辑器,常用的是texstudio或者vscode
基础知识
文件基本结构
文档分为一个导言区和正文区
导言区就是引入一系列的包,然后声明一些东西
正文区就是正式书写文档内容
一个latex文档只能有一个document环境
显示中文需要使用
ctex
宏包
% 导言区
\documentclass[UTF8]{article} % book, report, letter
\usepackage{ctex}
\title{My First Document}
\author{Huo Jia}
\date{\today}
% 文档区
\begin{document}
\maketitle
hello world
你好世界
\end{document}
LATEX的篇章结构
通过\section{}, \subsection{}, \subsubsection{}
命令可以自动生成标题
\documentclass{article}
\usepackage{ctex}
\begin{document}
\section{引言}
\section{实验方法}
\section{实验结果}
\subsection{数据}
\subsection{图表}
\subsubsection{实验条件}
\subsubsection{实验过程}
\subsection{结果分析}
\section{结论}
\section{致谢}
\end{document}
当文档格式为book的时候,可以使用\tableofcontents
生成文档目录,使用\chapter
生成文档章节标题
\documentclass{book}
\usepackage{ctex}
\begin{document}
\tableofcontents
\chapter{第一章 绪论}
\section{引言}
但在逐步成长并走向职业网坛的过程中,卡特一直都会注重对于费德勒性格和礼仪的培养,两人的关系除了师徒之外,甚至也有朋友的情分,以至于在费德勒进入成年网坛之后,即便卡特不再担任他的教练,费德勒还是会时常寻求这位恩师的帮助。
但在逐步成长并走向职业网坛的过程中,卡特一直都会注重对于费德勒性格和礼仪的培养,\par 两人的关系除了师徒之外,甚至也有朋友的情分,以至于在费德勒进入成年网坛之后,即便卡特不再担任他的教练,费德勒还是会时常寻求这位恩师的帮助。
\section{实验方法}
\chapter{第二章 实验}
\section{实验结果}
\subsection{数据}
\subsection{图表}
\subsubsection{实验条件}
\subsubsection{实验过程}
\subsection{结果分析}
\section{结论}
\section{致谢}
\end{document}
另外,如果对默认的格式不满意的话可以查阅ctex文档的第七节,章节标题格式设置,使用\ctexset
命令做一些自定义的设置
特殊字符处理
空白字符
- Latex中是通过空行分段的,多个空行等同于1个
- Latex自动缩进,绝对不能使用空格代替
- 英文中多个空格会处理为一个空格,中文空格会被忽略
- 汉字与其他字符的间距会自动由XeLaTex处理
- 禁止使用中文全角空格
个人常用的就是
\
和\quad
,还有后面的两个,占位宽度和弹性宽度
% 1em(当前字体中M的宽度)
a\quad b
% 2em
a\qquad b
% 约为1/6个em
a\, b
% 0.5个em
a\enspace b
% 空格
a\ b
% 硬空格
a~b
% 占位宽度
a\hphantom{xyz}b
% 弹性宽度,直接占满一行
a\hfill b
控制字符
\# \$ \% \{ \} \~{} \_{} \^{} \textbackslash \&
排版符号
\S \P \dag \ddag \copyright \pounds
标志符号
\TeX \quad \LaTeX \quad \LaTeXe
引号
` % 左单引号,1左侧的那个
' % 右单引号,就是英文单引号
`` % 左双引号
'' % 右双引号
连字符
- % 短
-- % 中
--- % 长
Latex的插图
插图使用的包是graphicx
,可以使用texdoc graphicx
命令查看帮助文档
在使用的时候首先需要指定文档存放的路径,然后在文档中使用\includegraphics{文件名}
来引入文件
在使用的时候添加的参数可以有一个,也可以有多个(通过逗号分隔),更多细节可以参照文档
% 导言区
\documentclass{article}
\usepackage{ctex}
% 语法: \includegraphics[<选项>]{<文件名>}$
% 格式: EPS, PDF, PNG, JPEG, BMP
\usepackage{graphicx}
% 指定文件存放路径
\graphicspath{{figures/}, {pics/}} % 图片在当前目录下面的 figures 目录或者 pics 文件夹中
% 正文区
\begin{document}
\includegraphics{bili}
\includegraphics[scale=0.5]{bili}
\includegraphics[height=2cm]{bili}
\includegraphics[width=2cm]{bili}
\includegraphics[angle=45, width=2cm]{bili}
\end{document}
Latex的表格
- 使用的环境是
tabular
- 需要指定列的对其模式
- l: 左
- c: 中
- r: 右
- 使用
P{宽度}
,表示本列的宽度固定,在内容超过宽度时自动换行
- \hline可以添加横线
- 在设置对其模式的时候添加
|
可以在表格中添加竖线 - 如果需要双竖线或者双横线可以直接添加多个
- 使用
&
分隔单元格,使用\\
换行
还有一些更好用的表格包,比如
booktab(三线表), longtab(跨页长表格), tabu(综合表格)
,可以使用doctex查看对应文档
\documentclass{article}
\usepackage{ctex}
\begin{document}
% 有个插件叫做excel2latex,有兴趣的可以看看
\begin{tabular}{l | c c | r| p{1.5cm}}
\hline
姓名 & 语文 & 数学 & 备注& 评分 \\
\hline
小张 & 87 & 82 & 无 & 优秀\\
王明 & 98 & 83 & & 优秀\\
\end{tabular}
\end{document}
浮动体环境
浮动体是为了使得表格和图片脱离源文件,更好的进行排版(避免无法分割的内容产生页面留白)和交叉引用
使用这样进行交叉引用之后,可以更灵活的进行图片编号的控制,不用因为插入一张新图而全部修改编号
\documentclass{article}
\usepackage{ctex}
\usepackage{graphicx}
% 指定文件存放路径
\graphicspath{{figures/}, {pics/}} % 图片在当前目录下面的 figures 目录或者 pics 文件夹中
\begin{document}
下面是xx班的成绩单,参见表\ref{table-score}
\begin{table}[h]
\centering
\caption{xx班成绩单}\label{table-score}
\begin{tabular}{l | c c | r| p{1.5cm}}
\hline
姓名 & 语文 & 数学 & 备注& 评分 \\
\hline
小张 & 87 & 82 & 无 & 优秀\\
王明 & 98 & 83 & & 优秀\\
\end{tabular}
\end{table}
这张图片是b站某视频的配图,参看图\ref{pic-b}
\begin{figure}[htbp]
\centering
\includegraphics{bili}
\caption{B站某视频图片}\label{pic-b}
\end{figure}
\end{document}
数学公式
数学公式主要包含行内公式和行间公式
行内公式
\section{行内公式}
\subsection{美元符号}
数学交换律: $a+b=b+a$
\subsection{小括号}
数学交换律: \(a+b=b+a\)
\subsection{math环境}
数学交换律:
\begin{math}
a+b=b+a
\end{math}
行间公式
\section{行间公式}
\subsection{美元符号}
数学交换律:
$$
a+b=b+a
$$
\subsection{中括号}
\[
a+b=b+a
\]
\subsection{displaymath}
\begin{displaymath}
a+b=b+a
\end{displaymath}
上下标
\section{上下标}
\subsection{上标}
$3x^2 + x^{12} = 0$ % 使用大括号分组
\subsection{下标}
$a_0, a_1, a_{10}$
公式的交叉引用及自动编号
\subsection{自动编号公式equation环境}
交换律见式\ref{eq:jiaohuan}
\begin{equation}
a+b=b+a\label{eq:jiaohuan}
\end{equation}
矩阵
\documentclass{article}
\usepackage{ctex}
\usepackage{amsmath}
\begin{document}
\[
\begin{matrix}
0 & 1 \\
1 & 0
\end{matrix} \qquad
\begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix} \qquad
\begin{bmatrix}
0 & 1 \\
1 & 0
\end{bmatrix} \qquad
\begin{Bmatrix}
0 & 1 \\
1 & 0
\end{Bmatrix} \qquad
\begin{vmatrix}
0 & 1 \\
1 & 0
\end{vmatrix} \qquad
\begin{Vmatrix}
0 & 1 \\
1 & 0
\end{Vmatrix} \qquad
\]
\[
\begin{pmatrix}
a_{11} & a_{12} & a_{13} \\
0 & a_{22} & a_{23} \\
0 & 0 & a_{33} \\
\end{pmatrix} \qquad
\begin{bmatrix}
a_{11} & \cdots & a_{1n} \\
& \ddots & \vdots \\
0 & 0 & a_{nn} \\
\end{bmatrix} \qquad
\]
\end{document}
其他
数学符号合集:latex数学符号大全
latex常用数学公式语法:latex常用的数学公式编辑语法
\section{希腊字母}
$\alpha$ $\beta$ $\gamma$ $\lambda$ $\pi$
\section{数学函数}
% 虽然直接使用sin也可以显示对应的函数,但是为了规范还是使用\sin
$\log \quad \sin \quad \cos \quad \ln$
$y= \sin(2)$
$\sqrt{3}\quad\sqrt[3]{4}$
\section{分式}
$\frac{1}{3}$
$\frac{x+1}{\sqrt{2}}$
设置字体
字体属性:在LATEX中,一个字体有五种属性
- 字体编码
- 正文字体编码:OT1、T1、EU1等
- 数学字体编码:OML、OMS、OMX等
- 字体族
- 罗马字体:笔画起始处有装饰
- 无衬线字体:笔画起始处无装饰
- 打字机字体:每个字符宽度相同,又称为等宽字体
- 字体系列
- 粗细
- 宽度
- 字体形状
- 直立
- 斜体
- 伪斜体
- 小型大写
- 字体大小
设置字体族
这种写法只对括号范围内的字体生效
% 导言区
\documentclass{article}
\usepackage{ctex}
% 正文区
\begin{document}
\textrm{this is content}
\textsf{this is content}
\texttt{this is content}
\end{document}
设置全文字体格式,这种写法对后续的所有字体都是生效的,直到遇到下一个声明
如果要限制字体作用的范围,则可以使用大括号将需要影响的区域括起来,比如
{\sffamily this is content}
% 导言区
\documentclass{article}
\usepackage{ctex}
% 正文区
\begin{document}
\rmfamily this is content
this is document content
content
\sffamily this is content
this is document content
content
\ttfamily this is content
this is document content
content
\end{document}
中文字体
注意需要引入ctex包才可以正常使用
% 导言区
\documentclass{article}
\usepackage{ctex}
% 正文区
\begin{document}
% 中文字体
{\songti 宋体} \quad {\heiti 黑体} \quad {\fangsong 仿宋} \quad {\kaishu 楷书}
\end{document}
设置字体形状
包括四种:
- 直立
- 斜体
- 伪斜体
- 小型大写
% 导言区
\documentclass{article}
\usepackage{ctex}
% 正文区
\begin{document}
% 字体形状(直立、斜体、伪斜体、小型大写)
\textup{Upright Shape}
\textit{Italic Shape}
\textsl{Slanted Shape}
\textsc{Small Caps Shape}
\end{document}
类似字体族,也可以通过下面这些命令来使得作用于后面所有字体
% 导言区
\documentclass{article}
\usepackage{ctex}
% 正文区
\begin{document}
\upshape Upright Shape
\itshape Italic Shape
\slshape Slanted Shape
\scshape Small Caps Shape
\end{document}
设置字体大小
这些都是相对于文档基础字体的大小来设置的,基础字体的大小是10pt,可以通过第2行位置处进行修改默认字体大小
% 导言区
\documentclass[12pt]{article}
\usepackage{ctex}
% 正文区
\begin{document}
% 字体大小
{\tiny Hello}\\
{\scriptsize Hello}\\
{\footnotesize Hello}\\
{\small Hello}\\
{\normalsize Hello}\\
{\large Hello}\\
{\Large Hello}\\
{\LARGE Hello}\\
{\huge Hello}\\
{\Huge Hello}\\
\end{document}
设置中文字号
在ctex中提供了一个\zihao
命令可以用来设置中文字体大小,可以参考ctex的文档5.1节内容
使用texdoc ctex打开帮助文档
% 导言区
\documentclass[12pt]{article}
\usepackage{ctex}
% 正文区
\begin{document}
% 中文字号设置命令
\zihao{-0} 你好!% -0表示小初
\zihao{5} 你好!% 5表示五号
\end{document}
小技巧
换行和新段落
需要换行并产生新段落的话在原文件中输入一个空行即可,新的段落会自动空两格
% 导言区
\documentclass[UTF8]{article} % book, report, letter
\usepackage{ctex}
% 文档区
\begin{document}
但在逐步成长并走向职业网坛的过程中,卡特一直都会注重对于费德勒性格和礼仪的培养,两人的关系除了师徒之外,甚至也有朋友的情分,以至于在费德勒进入成年网坛之后,即便卡特不再担任他的教练,费德勒还是会时常寻求这位恩师的帮助。
但在逐步成长并走向职业网坛的过程中,卡特一直都会注重对于费德勒性格和礼仪的培养,两人的关系除了师徒之外,甚至也有朋友的情分,以至于在费德勒进入成年网坛之后,即便卡特不再担任他的教练,费德勒还是会时常寻求这位恩师的帮助。
\end{document}
如果只是想换行的话可以使用\\
双斜线换行,这时不会重起一个新的段落
\documentclass{article}
\usepackage{ctex}
\begin{document}
但在逐步成长并走向职业网坛的过程中,卡特一直都会注重对于费德勒性格和礼仪的培养,两人的关系除了师徒之外,甚至也有朋友的情分,以至于在费德勒进入成年网坛之后,即便卡特不再担任他的教练,费德勒还是会时常寻求这位恩师的帮助。
但在逐步成长并走向职业网坛的过程中,卡特一直都会注重对于费德勒性格和礼仪的培养,\\两人的关系除了师徒之外,甚至也有朋友的情分,以至于在费德勒进入成年网坛之后,即便卡特不再担任他的教练,费德勒还是会时常寻求这位恩师的帮助。
\end{document}
如果想新起新段落的话可以使用\par
命令即可
\documentclass{article}
\usepackage{ctex}
\begin{document}
但在逐步成长并走向职业网坛的过程中,卡特一直都会注重对于费德勒性格和礼仪的培养,两人的关系除了师徒之外,甚至也有朋友的情分,以至于在费德勒进入成年网坛之后,即便卡特不再担任他的教练,费德勒还是会时常寻求这位恩师的帮助。
但在逐步成长并走向职业网坛的过程中,卡特一直都会注重对于费德勒性格和礼仪的培养,\par 两人的关系除了师徒之外,甚至也有朋友的情分,以至于在费德勒进入成年网坛之后,即便卡特不再担任他的教练,费德勒还是会时常寻求这位恩师的帮助。
\end{document}
添加标题
使用\maketitle
添加标题(需要提前将\title{},\author{},\date{\today}
设置好)
% 导言区
\documentclass[UTF8]{article} % book, report, letter
\usepackage{ctex}
\newcommand{\degree}{^\circ}
\title{My First Document}
\author{Huo Jia}
\date{\today}
% 文档区
\begin{document}
\maketitle
hello world
\end{document}
添加公式
行内公式可以使用单$将公式包围起来,块式公式使用双$将内容包裹起来
% 导言区
\documentclass[UTF8]{article} % book, report, letter
\usepackage{ctex}
% 文档区
\begin{document}
\maketitle
hello world
你好世界 $1 + 1 = 2 - 1$
$$
A^2 + B^2 = C^2
$$
\end{document}
产生带编号的行间公式
使用equation
环境包裹起来即可
通过
\newcommand
可以自己定义一些命令,将常用的复杂命令进行包装,如\newcommand{\degree}{^\circ}
,类似c语言的typedef
% 导言区
\documentclass[UTF8]{article} % book, report, letter
\usepackage{ctex}
\newcommand{\degree}{^\circ}
% 文档区
\begin{document}
\begin{equation}
A^2 + B^2 = C^2 \Rightarrow \angle C=90 \degree
\end{equation}
\end{document}
修改字体类型
如果要修改部分内容的字体,可以通过{\heiti 这里是内容}
,指定字体类型
% 导言区
\documentclass[UTF8]{article} % book, report, letter
\usepackage{ctex}
\title{\heiti 这里是文档标题}
\author{\songti 清儒}
\date{\today}
% 文档区
\begin{document}
\maketitle
hello world
你好世界
\end{document}
查看帮助文档
在cmd命令行使用texdoc 包名
可以查看对应的配置文档信息,例如
texdoc ctex % 查看中文包文档
texdoc lshort-zh % 一份不太简短的LATEX介绍,其中可以学习latex相关的操作