Latex教程

Latex教程

Latex是一种撰写文档的一种方式,适合数学公式较多的场景,对文档编辑的自由度较高,比较容易,不会出现Word中格式的问题。

相关文档查看以及学习资源:https://www.latexstudio.net/

通过电脑cmd终端输入命令texdoc ctex或者texdoc lshort-zh 查看相应的文档

示例:

% 导言区
% 在导言区主要进行全局设置
\documentclass{article} %article, book, report, letter
\usepackage{ctex}
% 或者上面两行可以用   \documentclass{ctexart} 来代替,效果相同
%ctexart, ctexbook, ctexrep, ctexbook, ctexbeamer 没有letter这样的文档类
\title{\heiti 杂谈勾股定理}
\author{\kaishu 张三}
\date{\today}
\newcommand\degree{^\circ}

% 正文区(文稿区)
\begin{document} % 一个latex文件有且只有一个document环境
	\maketitle  % 使用此命令输出整个标题
	Hello world!
	
	%通过增加空行来进行换行
	let $f(x)$ be defined by the formula $f(x)=3x^2+x-1$ % 通过 $ $来编写公式
	$$f(x)=3x^2+x-1$$ which is a ploynomial of degree 2.  % 可以通过 $$ $$来另起一行进行显示公式
	
	勾股定理可以用现代语言表述如下:

直角三角形斜边的平方等于两腰的平方和。%是否定格写和最终输出结果没有关系

可以用符号语言表述为:设直角三角形 $ ABC $,其中 $ \angle C = 90 \degree$,则有:
\begin{equation}
	AB^2 = BC^2 + AC^2
\end{equation}
\end{document}

运行结果:

image-20220422193602438

1 字体属性

在Latex中,一个字体有5中属性:

  • 字体编码
    • 正文字体编码:OT1,T1,EU1等
    • 数学字体编码:OML、OMS、OMX等
  • 字体族
    • 罗马字体:笔画起始处有装饰
    • 无衬线字体:笔画起始处无装饰
    • 打字机字体:每个字符宽度相同,有称等宽字体
  • 字体系列
    • 粗细
    • 宽度
  • 字体形状
    • 直立
    • 斜体
    • 伪斜体
    • 小型大写
  • 字体大小

示例:

% 导言区
% 在导言区主要进行全局设置
\documentclass[10pt]{article}
\date{\today}
\usepackage{ctex}
%\setmainfont{Minion Pro}
\usepackage[T1]{fontenc}
\setmainfont{TeX Gyre Termes}
\newcommand{\myfont}{\textbf{\textsf{Fancy Text}}}

% 正文区(文稿区)
\begin{document}
	% 字体族设置(罗马字体、无衬线字体、打字机字体)
	字体族设置:
	\textrm{Roman Family} \textsf{Sans Serif Family} \texttt{Typewriter Family}
	
	\rmfamily Roman Family {\sffamily Sans Serif Family} {\ttfamily Typewriter Family} %可以用{}限制字体作用的范围

	\sffamily Here show sffamily font style
	%如果不用{}来限定字体作用范围,等到达下一个字体格式时会自动停止当前字体的格式
	
	\ttfamily Here show ttfamily font style
	
	{\rmfamily Here show rmfamily font style.}  % 可以通过{}限制字体作用的范围
	
	Here show ttfamily font style!
	
	% 字体系列设置(粗细、宽度)
	\songti 字体系列设置:
	\textmd{Medium Series} \textbf{Boldface Series}
	{\mdseries Medium Series} {\bfseries Boldface Series}
	
	% 字体形状(直立、斜体、伪斜体、小型大写)
	\songti 字体形状:
	 \textup{Upright Shape} \textit{Italic Shape}
	 \textsl{Slanted Shape} \textsc{Small Caps Shape}
	
	{\upshape Upright Shape} {\itshape Italic Shape} {\slshape Slanted Shape} {\scshape Small Caps Shape}
	
	% 中文字体 注意需要使用ctex宏包,否则无法使用中文的相关设置
	\songti 中文字体:
	{\songti 宋体} \quad{\heiti 黑体} \quad {\fangsong 仿宋}\quad{\kaishu 楷书}
	
	\songti 中文字体的{\bf 粗体}{\songti 与}\textit{斜体}\\ % 中文的粗体是用黑体表示的,斜体是用楷书表示的
	
	% 字体大小
	{\tiny          Hello}\\
	{\scriptsize     Hello}\\
	{\footnotesize    Hello}\\
	{\small         Hello}\\
	{\normalsize     Hello}\\
	{\large         Hello}\\
	{\Large         Hello}\\
	{\LARGE         Hello}\\
	{\huge          Hello}\\
	{\Huge          Hello}\\
	
	% 中文字号设置命令
	\zihao{-0} 你好!\\% 参数为 -0 为小初号
	\zihao{5} 大人
	
	\myfont

\end{document}

运行结果:

image-20220423090110564

2 Latex文档基本结构

% 导言区
\documentclass{ctexbook}
%\usepackage{ctex}
\ctexset{
	section = {
		format+ = \zihao{-4} \heiti \raggedright,
		name = {,、},
		number = \chinese{section},
		beforeskip = 1.0ex plus 0.2ex minus .2ex,
		afterskip  = 1.0ex plus 0.2ex minus .2ex,
		aftername = \hspace{0pt}
	},
	subsection = {
		format+ =\zihao{5} \heiti \raggedright,
		% name={\thesubsection、},
		name = {,、},
		number = \chinese{section},
		beforeskip = 1.0ex plus 0.2ex minus .2ex,
		afterskip  = 1.0ex plus 0.2ex minus .2ex,
		aftername = \hspace{0pt}
	}
}



% 正文区(文稿区)
\begin{document}
	\tableofcontents  %产生整个文档的目录
	
	\chapter{绪论}
	\section{引言}
	近年来,随着互联网技术的发展,我国的数字化教育资源建设取得了巨大的成就。很多高校建立了自己的数字化学习平台,数字化教学在教育中发挥着越来越大的作用。
	
	new近年来,随着互联网技术的发展,我国的数字化教育资源建设取得了巨大的成就。
	\\很多高校建立了自己的数字化学习平台,数字化教学在教育中发挥着越来越大的作用
	% 采用\\的方法来换行并不能缩进,但是如果采用\par的方式,能够产生新的段落,通常为了保证源文件的清晰,通过插入空行来实现
	近年来,随着互联网技术的发展,我国的数字化教育资源建设取得了巨大的成就。
	\par 很多高校建立了自己的数字化学习平台,数字化教学在教育中发挥着越来越大的作用
	
	\section{实验方法}
	\section{实验结果}
	\subsection{数据}
	\subsection{图表}
	\subsubsection{实验条件}  %subsubsection在book中不起作用
	\subsubsection{实验过程} 实验过程实验过程
	\subsection{结果分析}
	\section{结论}
	\section{致谢}
	
	\chapter{实验与结果分析}
	\section{引言}
	\section{实验方法}
	\section{实验结果}
	\subsection{数据}
	\subsection{图表}
	\subsubsection{实验条件}
	\subsubsection{实验过程}
	\subsection{结果分析}
	\section{结论}
	\section{致谢}
\end{document}

运行结果:

image-20220423093807202

image-20220423093737903

image-20220423093839745

image-20220423093914057

image-20220423093939903

3 Latex中的特殊字符

在Latex中,特殊字符使用如下:

  • 空行分段,多个空行等同一个
  • 自动缩进,绝对不能使用空格代替
  • 英文中多个空格处理为一个空格,中文中空格将被忽略
  • 汉字与其他字符的间距会自动由XeLaTeX处理
  • 禁止使用中文全角空格

示例:

% 导言区
\documentclass{article}
\usepackage{ctex}
\usepackage{xltxtra} % 提供了针对XeTeX的改进并且加入了XeTeXd的LOGO
\usepackage{texnames} % 一些LOGO
\usepackage{mflogo}

% 正文区(文稿区)
\begin{document}
	\section{空白符号}
	Are you wiser than      others? ddefinitely no. in some ways. may it is true. What can you achieve?
	
	近年来,随着逆向工程      和三维重建技术in some ways.的发展和应用,获取现实世界中物体的三维数据的方法越来越多的关注和研究。
	
	% 1em()当前字体中M的宽度
	a\quad b
	% 2em
	
	a\qquad b
	
	% 约为1/6个em
	a\,b 
	
	a\thinspace b
	
	 0.5个em:
	 
	a\enspace b
	
	空格:
	
	a\ b
	
	硬空格:% 也就是不能分割的空格
	
	a~b
	
	1pc=12pt=4.218mm
	
	a\kern 1pc b
	
	-1em:
	
	a\kern -1em b
	
	a\kern 1em b
	
	a\hspace{35pt}b
	
	占位高度
	
	a\hphantom{xyzttt}b  %和输入框中的占用宽度相同
	
	弹性长度
	
	ddddddddda\hfill b
	
	\section{\LaTeX 控制符}
	\# \$ \{ \}  
	
	\~{}
	
	\_{}
	
	\^{}
	
	\textbackslash
	
	\&
	
	\section{排版符号}
	\S \P \dag  \ddag   
	
	\copyright  \pounds
	
	\section{\TeX 标志符号}
	% 基本符号
	\TeX{}  \LaTeX{} \LaTeXe{}
	\XeLaTeX %xltxtra宏包提供
	
	%texnames宏包提供
	\AmSTeX{} \AmS-\LaTeX{}
	\BibTeX{} \LuaLaTeX
	
	%mflog宏包提供
	\METAFONT{} 
	
	\MF{} 
	
	\MP{}
	\section{引号}
	单引号 \quad ` ' 
	
	双引号 \quad `` ''
	\section{连字符}
	-\quad 	-- \quad ---
	\section{非英文字符}
	\oe \quad \OE \quad \ae \quad \AE \quad \aa \quad \AA \quad \o \quad 
	\O \quad \l \quad \L \quad \ss \quad \SS \quad !` \quad ?`
	\section{重音字符(以o为例)}
	\`o \quad \'o \quad \^o \quad 
	
	\''o \quad \~o \quad \=o \quad 
	
	\.o \quad \u{o} \quad \v{o} \quad 
	
	\H{o} \quad \r{o} \quad \t{o} \quad 
	
	\b{o} \quad \c{o} \quad \d{o}
\end{document}

运行结果:

document_1

document_2

document_3

4 Latex中的插图

导言区:\usepackage{graphicx}

语法:\includegraphics[<选项>]{<文件名>}

格式:EPS,PDF,PEG,JPEG,BMP

示例:

% 导言区
\documentclass{ctexart}

%usepackage{ctex}

%导言区:\usepackage{graphicx}
%语法:\includegraphics[<选项>]{<文件名>}
%格式:EPS,PDF,PEG,JPEG,BMP

%\usepackage{graphics}
\usepackage{graphicx}
\graphicspath{{figures/},{pics/}} %图片在当前目录下的 figures 目录,图片可以放在多个目录中用{}包含进来

% 正文区(文稿区)
\begin{document}
	\LaTeX{}中的插图:
	
	\includegraphics{new} % 可以加入文件后缀名,也可以不加
	
	\includegraphics{baa.bmp}
	
	\includegraphics[scale=0.3]{new}
	\includegraphics[scale=0.3]{baa.bmp}
	
	\includegraphics[height=2cm]{new}
	\includegraphics[height=2cm]{baa.bmp}
	
	\includegraphics[width=2cm]{new}
	\includegraphics[width=2cm]{baa.bmp}
	
	\includegraphics[height=0.1\textheight]{new}
	\includegraphics[height=0.1\textheight]{baa.bmp}
	
	\includegraphics[width=0.2\textheight]{new}
	\includegraphics[width=0.2\textheight]{baa.bmp}
	
	\includegraphics[angle=-45,width=0.2\textwidth]{baa}
\end{document}

运行结果:

image-20220423150611435

image-20220423150638099

5 Latex中添加表格

Latex中插入表格方式:

\begin{tabular}[<垂直对齐方式>]{<列格式说明>}
		\hline
		<表项> & <表项> & ... & <表项> & <表项> \\
		...
\end{tabular}

\\表示换行,用&表示不同的列

l—本列左对齐,c—本列居中对齐,r—本列右对齐,p{<宽>}—本列宽度固定,能够自动换行

可以在cmd中输入texdoc booktabtexdoc longtabtexdoc tabu等命令查看表格对应的文档。

示例:

% 导言区
\documentclass{ctexart} % ctexbook,ctexrep

%usepackage{ctex}

% 正文区(文稿区)
\begin{document}
	\begin{tabular}{| l || c | c | c | r |}
		\hline
		姓名 & 语文 & 数学 & 外语 & 备注\\
		\hline \hline
		张三 & 87 & 100 & 93 & 优秀\\
		\hline
		李四 & 75 & 64 & 53 & 补考\\
		\hline
		王二 & 80 & 82 & 78 &\\
		\hline
	\end{tabular}

	\begin{tabular}{| l || c | c | c | p{1.5cm} |} % 可以通过p来设置列宽
		\hline
		姓名 & 语文 & 数学 & 外语 & 备注\\
		\hline \hline
		张三 & 87 & 100 & 93 & 优秀\\
		\hline
		李四 & 75 & 64 & 53 & 补考另行通知\\ %当字数超过规定的列宽时,会自动换行
		\hline
		王二 & 80 & 82 & 78 &\\
		\hline
	\end{tabular}
\end{document}

运行结果:

image-20220423161146330

6 Latex中的浮动体

利用浮动体可以实现灵活分页(避免无法分割的内容产生的页面留白),给图表添加标题,交叉引用

语法:figure环境(table环境与之类似)

\begin{figure}[<允许位置>]
	< 任意内容 >
\end{figure}

<允许位置>参数(默认tbp)

  • h,此处(here)— 代码所在的上下文位置
  • t,页顶(top)— 代码所在页面或之后页面的顶部
  • b,页底(bottom)— 代码所在页面或之后页面的底部
  • p,独立一页(page)— 浮动页面

标题控制(caption、bicaption等宏包)

并排与子图表(subcaption、subfig、floatrow等宏包)

绕排(picinpar、wrapfig等宏包)

示例:

%导言区
\documentclass{ctexart}
\usepackage{graphicx}
%\usepackage{graphics}
\graphicspath{{figures/},{pics/}}

% 正文区(文稿区)
\begin{document}
	%有figure浮动体环境
	\LaTeX{}中\TeX 系统的吉祥物---小狮子见图\ref{fig-lion}:%通过标签的方式实现引用
	\begin{figure}[htbp] %将该部分内容排在合适的位置
		\centering %通过此命令将环境中的内容居中排版,该排版只影响环境中的内容
		\includegraphics[scale=1]{baa}
		\caption{\TeX 系统的吉祥物---小狮子}\label{fig-lion} %该插图被自动进行了编号,可以对图片打标签从而进行实现引用
	\end{figure}


	walle是电影机器人总动员中的主角,见图\ref{fig-ba}:
	\begin{figure}[htbp]
		\centering
		\includegraphics[scale=0.5]{ba}
		\caption{walle}\label{fig-ba}
	\end{figure}


	在\LaTeX{}中的表格中使用表格\ref{table-score}所示的表格:
	\begin{table}[h]
		\centering
		\caption{考试成绩单}\label{table-score} %表格也被进行自动编号,和插图编号相互独立
		\begin{tabular}{|l|c|c|c|r|}
			\hline
			姓名 & 语文 & 数学 & 外语 & 备注\\
			\hline \hline
			张三 & 87 & 100 & 93 & 优秀\\
			\hline
			李四 & 75 & 64 & 53 & 补考\\
			\hline
			王二 & 80 & 82 & 78 &\\
			\hline
		\end{tabular}
	\end{table}

\end{document}

运行结果:

document_1

document_2

7 Latex数学公式初步

Latex中公式的使用方式见示例:

% 导言区
\documentclass{ctexart}
\usepackage{amsmath} %带*号的equation需要用到此宏包
\usepackage{lmodern}
% 正文区(文稿区)
\begin{document}
	\section{简介}
	\LaTeX{}将排版内容分为文本模式和数学模式,文本模式用于普通文本排版,数学模式用于数学公式排版。
	\section{行内公式}
	\subsection{美元符号}
	交换律是$a+b=b+a$,如$1+2=2+1$。
	\subsection{小括号}
	交换律是\(a+b=b+a\),如\(1+2=2+1\)。
	\subsection{math环境}
	\begin{math}
		1+2=2+1=3
	\end{math}
	\section{上下标}
	\subsection{上标}
	$3x^{20} + 2x^2 - x + 2 =0$ %使用{}里面的内容为上标内容
	
	$3x^{3x^{20} + 2x^2 - x + 2} + 2x^2 - x + 2 =0$
	\subsection{下标}
	$a_0, a_1, a_2, ... ,a_{100},a_{2x^2 - x + 2}$
	\subsection{希腊字母}
	$\alpha$
	$\beta$
	$\gamma$
	$\epsilon$
	$\pi$
	$\omega$
	
	$\Gamma$
	$\Delta$
	$\Theta$
	$\Pi$
	$\Omega$
	
	$\alpha^3 + \beta^2 +\gamma = 0$
	
	\section{数学函数}
	$\log$
	$\sin$
	$\cos$
	$\arcsin$
	$\arccos$
	$\ln$
	
	$\sin^2 x + \cos^2 x = 1$
	
	$y = \arcsin x$
	
	$y = \sin^{-1} x$
	
	$y = \log_2 x$
	
	$y = \ln x$
	
	$\sqrt{2}$
	$\sqrt{x^2 + y^2}$
	$2\sqrt{2 + \sqrt{2}}$
	$\sqrt[4]{x}$
	\section{分式}
	大约是原体积的$3/4$。
	大约是原体积的$\frac{3}{4}$
	
	$\frac{x}{x^2 + x + 1}$
	
	$\frac{\sqrt{x-1}}{\sqrt{x+1}}$
	
	$\frac{1}{1 + \frac{1}{x}}$
	
	$\sqrt{\frac{x}{x^2 + x + 1}}$
	
	\section{行间公式}
	\subsection{美元符号}
	交换律是 
	$$a+b=b+a$$
	如 
	$$1+2=2+1=3$$
	
	\subsection{中括号}
	交换律是
	\[a+b=b+a\]
	如
	\[1+2=2+1=3\]
	
	\subsection{displaymath环境}
	交换律是
	\begin{displaymath}
		a+b=b+a
	\end{displaymath}
	如
	\begin{displaymath}
		1+2=2+1=3
	\end{displaymath}
	
	\subsection{自动编号公式equation环境}
	交换律见式 \ref{eq:commutative}:
	\begin{equation}
		a+b=b+a \label{eq:commutative}
	\end{equation}
	
	\subsection{不编号公式equation*环境}
	交换律见式 \ref{eq:commutative2}:%此时交叉引用的编号是小节编号
	\begin{equation*}
		a+b=b+a \label{eq:commutative2}
	\end{equation*}

	公式的编号与交叉引用也是自动实现的,大家在排版中要习惯于采用自动化的方式处理诸如图、表、公式的编号与交叉引用。再如公式\ref{eq:pol}
	\begin{equation}
		x^5 - 7x^3 + 4x = 0 \label{eq:pol}
	\end{equation}

\end{document}

运行结果:

document_1

document_2

document_3

8 Latex数学公式的矩阵

用Latex排版复杂数学公式的矩阵如下:

% 导言区
\documentclass{ctexart}
\usepackage{amsmath}
\usepackage{lmodern}
\newcommand{\adots}{\mathinner{\mkern2mu%
		\raisebox{0.1em}{.}\mkern2mu\raisebox{0.4em}{.}%
	    \mkern2mu\raisebox{0.7em}{.}\mkern1mu}}

% 正文区(文稿区)
\begin{document}
	\[
	\begin{matrix}
		0 & 1\\
		1 & 0
	\end{matrix}	\qquad
	\begin{vmatrix}	
		i & v \\
		0 & -i
	\end{vmatrix}	\qquad
	\begin{Vmatrix}
		i & V \\
		0 & -i
	\end{Vmatrix}	\qquad
	\begin{pmatrix}
		i & p \\
		0 & -i
	\end{pmatrix}	\qquad
	\begin{bmatrix}
		i & b \\
		0 & -i
	\end{bmatrix}	\qquad
	\begin{Bmatrix}
		i & B \\
		0 & -i
	\end{Bmatrix}	\qquad
	\]
	
	% 可以使用上下标
	\[
	A = 
	\begin{pmatrix}
		a_{11}^2 & a_{12}^2 & a_{13}^2 \\
		0 & a_{22} & a_{23} \\
		0 & 0 & a_{33}
	\end{pmatrix}
	\]
	
	% 常用省略号:\dots、 \vdots、 \ddots
	\[
	A = \begin{bmatrix}
		a_{11} & \dots & a_{ln} \\
		& \ddots & \vdots \\
		0 & & a_{nn}
	\end{bmatrix}_{n \times n} % 在数学公式中可以用\times来排版 × 号
	\]
	
	% 常用省略号:\dots、 \vdots、 \ddots、 \adots(这个是自定义的一个命令,可以通过newcommand来新建一个格式)
	\[
	A = \begin{bmatrix}
		a_{11} & \dots & a_{ln} \\
		\adots & \ddots & \vdots \\
		0 & & a_{nn}
	\end{bmatrix}_{n \times n} % 在数学公式中可以用\times来排版 × 号
	\]
	
	% 分块矩阵
	\[
	\begin{pmatrix}
		\begin{matrix} 1 & 0 \\ 0 & 1 \end{matrix}
		& \text{\Large 0} \\   %此处的text将数学模式临时切换到文本模式
		\text{\Large 0} & \begin{matrix}
		1&0\\0&-1 \end{matrix}
	\end{pmatrix}
	\]
	
	% 三角矩阵
	\[\begin{pmatrix}
		a_{11} & a_{12} & \cdots & a_{ln} \\
		& a_{22} & \cdots & a_{2n} \\
		&        & \ddots & \vdots \\
		\multicolumn{2}{c}{\raisebox{1.3ex}[0pt]{\Huge 0}} &  &a_{nn} % 通过multicolumn来合并多列,通过raisebox来调整高度
	\end{pmatrix}
	\]
	
	% 跨列的省略号:\hdotsfor{<列数>}
	\[
	\begin{pmatrix}
		1 & \frac 12 & \dots & \frac ln \\
		\hdotsfor{4} \\
		m & \frac m2 & \dots & \frac mn
	\end{pmatrix}
	\]
	
	% 行内小矩阵(smallmatrix)环境
	复数 $z = (x,y)$也可用矩阵
	\begin{math}
		\left(% 需要手动加上左括号
		\begin{smallmatrix}
			x & -y \\ y & x
		\end{smallmatrix}
		\right)% 需要手动加上右括号
	\end{math}来表示。

	% array环境(类似于表格环境tabular)
	\[
	\begin{array}{r|r}
		\frac{1}{2} & 0\\
		\hline
		0 & -\frac a{bc} \\
	\end{array}
	\]
	
	% 用array环境构造复杂矩阵
	\[
	% @{<内容>}-添加任意内容,不占表项计数
	% 此处添加一个负值空白,表示向左移-5pt的距离
	\begin{array}{c@{\hspace{-5pt}}l}
		%第1行,第1列
		\left(
		\begin{array}{ccc|ccc}
			a & \cdots & a & b &\cdots &b \\
			& \ddots & \vdots & \vdots & \adots \\
			&		 & a & b \\ \hline
			& 		 &   & c &\cdots & c \\
			& 		 &   & \vdots & &\vdots \\
			\multicolumn{3}{c|}{\raisebox{2ex}[0pt]{\Huge 0}}
			& c & \cdots & c
		\end{array}
		\right)
		&
		% 第1行第2列
		\begin{array}{l}
			%\left.仅表示与\right\}配对,什么都不输出
			\left.\rule{0mm}{7mm}\right\}p\\
		\\
			\left.\rule{0mm}{7mm}\right\}q\\
		\end{array}
	\\[-5pt]
	% 第2行,第1列
	\begin{array}{cc}
		\underbrace{\rule{17mm}{0mm}}_m &
		\underbrace{\rule{17mm}{0mm}}_m
	\end{array}
	& % 第2行第2列
	\end{array}
	\]
	
\end{document}

运行结果:

document_1

document_2

9 Latex中多行公式排版方法

针对多行公式排版问题,可以参考示例:

% 导言区
\documentclass{ctexart}
\usepackage{amsmath}
\usepackage{amssymb}

% 正文区(文稿区)
\begin{document}
	\begin{gather} %可以使用gather实现多行公式排版
		% gather 和 gather* 环境(可以使用\\换行)
		% 带编号
		a + b = b + a \\
		ab ba
	\end{gather}

	\begin{gather*}
		3 + 5 = 5 + 3 = 8 \\
		3 \times 5 = 5 \times 3
	\end{gather*}

	% 在\\前使用 \notag 阻止编号
	\begin{gather}
		3^2 + 4^2 = 5^2 \notag \\
		5^2 + 12^2 = 13^2 \notag \\
		a^2 + b^2 = c^2
	\end{gather}

	% align 和 align* 环境(用 & 进行对齐)
	% 带编号
	\begin{align}
		x &= t + \cos t + 1 \\
		y &= 2\sin t
	\end{align}
	% 不带编号
	\begin{align*}
		x &= t & x &= \cos t & x &= t \\
		x &= 2t & x &= \sin(t+1) & y &= \sin t
	\end{align*}

	% split 环境(对齐采用 align 环境的方式,编号在中间)
	\begin{equation}
		\begin{split}
			\cos 2x &= \cos^2 x - \sin^2 x \\
			&= 2\cos^2 x - 1
		\end{split}
	\end{equation}

	% case 环境
	% 每行公式中使用 & 分隔为两部分,通常表示值和后面的条件
	\begin{equation}
		D(x) = \begin{cases} % 数学公式中无法实现中文排版,需要\text切换到文本模式
			1, & \text{如果 } x \in \mathbb{Q}; \\ % \in 命令用于输出 属于 符号
			0, & \text{如果 } x \in \mathbb{R}\setminus\mathbb{Q}. % \mathbb 用于输出花体字符,需要amssymb宏包支持
		\end{cases}
	\end{equation}
\end{document}

运行结果:

document_1

10 Latex中的参考文献BibTeX

一次管理,一次使用
参考文献格式:

	\begin{thebibliography}{编号样本}
		\bibitem[记号]{引用标志}文献条目1
		\bibitem[记号]{引用标志}文献条目2
		......
	\end{thebibliography}

其中文献条目包括:作者,题目,出版社,年代,页码等。
引用时候要可以采用:\cite{引用标志1,引用标志2,...}

示例:

% 导言区
\documentclass{ctexart}
\usepackage{natbib}
\bibliographystyle{plain} % plain unsrt alpha abbrv 选择采用不同的排版样式 需要清理样式文件


\begin{document}
%	一次管理,一次使用
%	参考文献格式:
%	\begin{thebibliography}{编号样本}
%		\bibitem[记号]{引用标志}文献条目1
%		\bibitem[记号]{引用标志}文献条目2
%		......
%	\end{thebibliography}
%	其中文献条目包括:作者,题目,出版社,年代,页码等。
%	引用时候要可以采用:\cite{引用标志1,引用标志2,...}


	引用一篇文章 \cite{bernd_bullnheimer_improved_nodate}
	引用另外一篇文章\cite{chengzhi_qu_novel_2020}
	引用第三篇文章\cite{haibin_duan_three-dimension_2010}
	引用另个一文献\cite{article4}
	
	\begin{thebibliography}{99}
		\bibitem{article4}陈立辉,苏伟,蔡川,陈晓云.\emph{基于LaTeX的Web数学公式提取方法研究}[j].计算机科学. 2014(06)
	\end{thebibliography}

	\bibliography{paper,newpapers}
	\nocite{xianwei_wang_path_2020}  % 可以使用 \nocite 插入未引用的特定的参考文献
%	\nocite{*} % 该命令是排版未引用的所有文献。需要在 工具 选项中点击 清理辅助文件,然后重新运行即可看到排版的所有未引用的参考文献

\end{document}

运行结果:

document_1

11 Latex中的参考文献BibLaTeX

通过BibLaTeX来插入参考文献:

% 导言区
\documentclass{ctexart}
% biblatex/biber
% 新的TEX参考文献排版引擎
% 样式文件()参考文献样式文件--bbx文件,引用样式文件--cbx)使用LATEX编写
% 支持根据本地化排版,如:
% 			biber -l zh_pinyin texfile, 用于指定按拼音排序
% 			biber -l zh_stroke texfile, 用于按笔画排序
%\usepackage[style=numeric,backend=biber]{biblatex}
\usepackage[style=caspervector,backend=biber,utf8,sorting=cenyt]{biblatex}
%sorting是将参考文献按照中英文姓名等进行排序,cenyt分别表示c为中文e为英文n为作者姓名t为文献标题y为出版年,也可以为ecnyt
%如果不需要进行sorting,则sorting=cenyt这句命令可以不用写
\addbibresource{paper.bib} % 文件名 .bib 不能省略

%正文区(文稿区)
\begin{document}
	%一次管理多次使用
	
	无格式化引用\cite{bernd_bullnheimer_improved_nodate}
	
	带方括号的引用\parencite{__2020}
	
	上标引用\supercite{fatin_hassan_ajeil_grid-based_2020}
	
	又一篇文章\supercite{huchunyangGaiJinYiQunSuanFaZaiAGVLuJingGuiHuaZhongDeYingYong2020}
	
	有一篇文章\supercite{NewRankBased}

%	\nocite{*} % 输出未引用的参考文献
	\printbibliography  % 输出参考文献列表
%	\printbibliography[title={参考文献}] % 可以通过此命令将 References 改为中文 参考文献
	
\end{document}

运行结果:

document_1

也可以在文件夹下通过新建build.bat文件,并写入如下代码:

xelatex document
biber -l zh__pinyin document
xelatex document
xelatex document
del *.aux *.bbl *.bcf *.bcf *.blg *.log *.xml

其中documentdocument.tex文件名相对应,且.bat文件和.tex文件放在同级目录下。并对TeXstudio的Biber进行更改如下:

image-20220424153250969

然后双击执行,不需要用管理员来运行,用管理员运行会出错。

12 Latex中的自定义命令和环境

Latex中自定义命令和环境示例:

% 导言区
\documentclass{ctexart}
% \newcommand - 定义命令
% 命令只能由字母组成,不能以\end开头
% \newcommand<命令>[<参数个数>][<首参数默认值>]{<具体定义>}

% \newcommand可以是简单字符串替换,例如:
% 使用\RPC相当于People's Republic of\emph{China}这一串内容
\newcommand\PRC{People's Republic of \emph{China}}

% \newcommand也可以使用参数
% 参数个数可以从 1 到 9,使用时用 #1,#2,...,#9 表示
\newcommand\loves[2]{#1 喜欢 #2}
\newcommand\hatedby[2]{#2 不受 #1 喜欢}

% \newcommand的参数也可以由默认值
% 指定参数个数的同时指定了首个参数的默认值,那么这个命令的第一个参数就称为可选的参数(要使用中括号指定)
\newcommand\love[3][喜欢]{#2#1#3}

% \renewcommand - 重定义命令
% 与\newcommand 命令作用和用法相同,但只能用于已有命令
% \renewcommand<命令>[<参数个数>][<首参数默认值>]{<具体定义>}
\renewcommand\abstractname{内容简介}

% 定义和重定义环境
% \newenvironment{<环境名称>}[<参数个数>][<首参数默认值>]
% 				{<环境前定义>}
% 				{<环境后定义>}
% \renewenvironment{<环境名称>}[<参数个数>][<首参数默认值>]
% 				{<环境前定义>}
% 				{<环境后定义>}

% 为 book 类中定义摘要 (abstract) 环境
\newenvironment{myabstract}[1][摘要]
{\small %设定字号
	\begin{center}\bfseries #1\end{center}
	\begin{quotation}}
	{\end{quotation}}

% 环境参数只有<环境前定义>中可以使用参数,
% <环境后定义>中不能再使用环境参数
% 如果需要,可以先把前面得到的参数保存在一个命令中,在后面使用:
\newenvironment{Quotation}[1]
{\newcommand\quotesource{#1}
	\begin{quotation}}
	{\par\hfill--- 《\textit{\quotesource}》
	\end{quotation}}

%正文区(文稿区)
\begin{document}
	\begin{abstract}
		这是一段摘要
	\end{abstract}
	
	\PRC
	
	\loves{猫}{鱼}
	
	\hatedby{猫儿}{萝卜}
	
	\love{猫儿}{鱼}
	
	\love{最爱}{猫儿}{鱼}
	
	\begin{myabstract}[我的摘要]  %将 我的摘要 替换 摘要
		这是一段自定义格式的摘要...
	\end{myabstract}

	\begin{Quotation}{易$\cdot$乾}
		初九,潜龙勿用。
	\end{Quotation}

	定义命令和环境是进行\LaTeX{}格式定制、达成内容与格式分离目标的利器。使用自定义的命令和环境把字体、字号、缩进、对齐、间距等各种繁琐的内容包装起来,赋以一个有意义的名字,可以使文档结构清晰、代码整洁、易于维护。在使用宏定义功能时,要综合利用各种已有的命令、环境、变量等功能,事实上,前面所介绍的长度变量与盒子、字体字号等内容,大多并不直接出现在文档正文中,而主要都是用在实现各种结构化的宏定义中。
		
\end{document}

运行结果:

document_1

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐