LaTeX的语法问题及写作模板汇总

LaTeX的基本语法及使用方法

【软件安装】

Latex TeXLive 2022安装教程

技巧

使用XeLaTex编译引擎进行编译,能在有错误的地方提示一个?号
使用方法:

  1. 在tex文件旁边点击空白地方然后右键选择在“在终端中打开”
  2. 输入 xelatex tex文件名 进行编译
  3. 输入pwd可以查看文件路径
    在这里插入图片描述

texstudio 代码格式化快捷键

Ctrl + X --> Ctrl + V 格式化对应的代码块,比如缩进、对齐等

TexStudio 常用快捷键
在这里插入图片描述

其他快捷键

1.前言

1.1. \ (反斜杠) : 命令的标志

1.2. 注释

单行注释 : %
多行注释 :

\iffalse
注释内容
\fi

1.3. 导言区与正文区

\maketitle 默认在标题后显示当天日期,如果不想显示这个日期,用

\ title{标题}
\ date{}
\ maketitle

可以用date自定义显示的时间,如:
date{完成于2009720}

不加时间, 作者时调整标题间距

% 导言区
\makeatletter % change default title style
\renewcommand*\maketitle{%
	\begin{center}% 居中标题
		\bfseries % 默认粗体
		{\LARGE \@title \par} % LARGE字号
		\vskip 1em% %%%  标题下面只有1em的缩进或margin
		{\global\let\author\@empty}%
		{\global\let\date\@empty}%
		\thispagestyle{empty} %  不设置页面样式
	\end{center}%
	\setcounter{footnote}{0}%
}
\makeatother
%  导言区:
%LaTeX提供三种基本文档,article, report和book。三者分别用来写小篇幅的文章、中篇幅的报告和长篇幅的书籍
\documentclass{article}  

\usepackage[UTF8]{ctex}  % 使用宏包(为了能够显示汉字)
\newcommand\degree{^\circ} % 定义新命令 degree

% 设置页面的环境,a4纸张大小,左右上下边距信息
\usepackage[a4paper,left=10mm,right=10mm,top=15mm,bottom=15mm]{geometry}

\title{\heiti 杂谈勾股定理}  % 文章标题 \heiti黑体
\author{\kaishu 张三}   % 作者的名称 \kaishu楷书 
\date{\today}       % \today当天日期




%  正文区  注意正文区编辑要有始有终,即必须在环境内编辑
\begin{document}
	\maketitle % 显示标题等
	内容 % 两句子分行用空行表示 多空行默认为一个空行
	Let $f(x)$ be defined by the formula
	$ f(x)=3x^2+2+x-1$   % $里面为数学模式,在$外面为文本模式  单$为行内公式, $$为行间公式(单独一行居中)
	% \angle 为角度 degree需要定义新命令
	勾股定理:设直角三角形 $ABC$, 其中$\angle C=90\degree$, 则有
 	\begin{equation} % 此处引入一个新环境equation 用于产生带编号的行间公式
 	AB^2 = BC^2 + AC^2.
 	\end{equation}
\end{document}

在这里插入图片描述

1.4 文档类型

\documentclass{article}是确定了文档类型为article; 一般LaTeX提供三种基本文档,此外两种是report和book。三者分别用来写小篇幅的文章、中篇幅的报告和长篇幅的书籍。 另外还有一种 letter (注意:该文档类型不需要\maketitle)

1.5 宏包

LaTeX 可以导入各种宏包,以使用相应宏包的功能,其中一条语句中可以导入多个宏包

\usepackage{宏包1, 宏包2}

常用的宏包:
ctex:中文支持
amsmath:latex数学公式支持
graphicx:插入图片
algorithm和algorithmic:算法排版
listings:插入代码块

1.6 换行

\\:换行,一般在一行的最后写。不产生缩进
\\[offset]:换行,并且与下一行的行间距为原来行间距+offset,offset单位一般是em或pt

1.7换段

源代码空一行即可进行换段(推荐)。
也可以使用代码\par进行换段,一般在一段的最后写。

2. 中文处理方法

无论是在线工具还是本地工具,LaTeX默认都是不支持中文的,因此需要在源代码和配置上稍作修改才可以让LaTeX支持中文,步骤如下:

1.编译器配置:XeLaTeX
2.tex文件编码:utf-8
3.代码开头导言区添加:
方式1(推荐):添加宏包

% -- coding: UTF-8 --
\usepackage[UTF8]{ctex}

方式2:设置文档类型

% -- coding: UTF-8 --
\documentclass[UTF8]{ctexart} % % ctexbook ctexreport 

2.2 定义新命令

在导言区 标题前面使用以下语句定义一个\degree

\newcommand\degree{^\circ}

2.3 查看宏包使用文档

在cmd 里面使用 texdoc 宏包 查看对应文档
例如 texdoc ctex

3.字体字号及颜色设置

在latex里面有5中字体属性

在这里插入图片描述

%  导言区:
\documentclass{article}  
\usepackage{ctex} 
\newcommand{\myfond}{\textbf{\textsf{Fancy Text}}}
		% 使用新命令设置字体 可以通过修改newcommand 中对应的字体以达到修改全局设置的字体
		
% 正文区
\begin{document}
			
			% 字体族的设置 (罗马字体 无衬线字体  打字机字体)
			\textrm{Roman Family} % 罗马字体 \textsf{Sans Serif Family}  \texttt{Typewriter Family}
			% 使用字体命令\textrm 作用于命令的参数Roman Family 其他同理
			
			\rmfamily Roman Family  %声明后续字体为罗马字体 {\sffamily Sans Serif Family} {\ttfamily Typewriter Family}
			% 也可以使用字体声明\rmfamily作用于后续文本, 可以使用大括号{}对文本进行分组,限定字体声明的作用范围
			% 遇到其他字体声明则停止,使用新字体声明
			
			
			
			
			% 字体序列设置 (粗细 ,宽高)
			\textmd{Medium series} \textbf{boldface series}
			
			{\mdseries Medium serires} {\bfseries boldface series}
			
			
			
			
			% 字体形状(直立 斜体 伪斜体 小型大写)
			\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}
			
			
			
			
			% 中文字体设置 注意要使用\usepackage{ctex} 
			{\songti 宋体}
			{\heiti 黑体}
			{\fangsong 仿宋}
			{\kaishu 楷书}
			
			{\bf 粗体}
			{\it 斜体}
			{\sl 斜体}
			
			\textbf{粗体}
			\textit{斜体}
			\textsl{斜体}
			
			
			% 字体大小设置 具体字号大小可以查看ctex文档
			% 以下大小是相对于\documentclass[11pt]{article}  中11pt(任意设置)的大小
			{\tiny 			Hello} \\
			{\scriptsize    Hello} \\
			{\footnotesize	Hello} \\
			{\small 	    Hello} \\
			{\normalsize	Hello} \\
			{\large			Hello} \\
			{\large 		hello} \\
			{\LARGE			hello} \\
			{\huge 			hello} \\
			{\huge          hello} \\
			
			
			% 中文字号设置命令
			\zihao{-0} 你好!
			\myfond 
			
\end{document}


在这里插入图片描述

颜色设置

% 需要导入宏包\usepackage{xcolor}

\documentclass{article}
\usepackage[UTF8]{ctex}
\usepackage{color,xcolor}

\setlength{\parindent}{0pt}

% 预先定义好的颜色: red, green, blue, white, black, yellow, gray, darkgray, lightgray, brown, cyan, lime, magenta, olive, orange, pink, purple, teal, violet.

% 定义颜色的5种方式
\definecolor{light-gray}{gray}{0.95}    % 1.灰度
\definecolor{orange}{rgb}{1,0.5,0}      % 2.rgb
\definecolor{orange}{RGB}{255,127,0}    % 3.RGB
\definecolor{orange}{HTML}{FF7F00}      % 4.HTML
\definecolor{orange}{cmyk}{0,0.5,1,0}   % 5.cmyk

\begin{document}

% \pagecolor{yellow}          %设置背景色为黄色

% 使用颜色的常用方式
\textcolor{green}{绿色} % textcolor+颜色
\color{orange}{橙色} % color+颜色
\textcolor[rgb]{0,1,0}{绿色} % textcolor+rgb
\color[rgb]{1,0,0}{红色} % color+rgb

% 使用底色
\colorbox{red}{\color{black}红底黑字}
\fcolorbox{red}{green}{红框绿底} % 框色+背景色

\end{document} 

在这里插入图片描述

4.LaTeX文档基本结构

4.1纸张布局

% 设置页面的环境,a4纸张大小,左右上下边距信息
\usepackage[a4paper,left=10mm,right=10mm,top=15mm,bottom=15mm]{geometry}

4.2大纲 目录及标题

4.2.1 标题
% 正文区
\section{一级标题}
\subsection{二级标题} 
\subsubsection{二级标题} 

若使用\documentclass{ctexart} ctexart文档类的标题居中排版,此时可以通过下面方式修改格式(其他文档类cxtexbook,ctexrep)

%=======设置标题格式=======
% 此示例居左, 具体详情可查看对应宏包手册

% 导言区
\ctexset{
	section = {
	format += \zihao{-4} \heiti \reggedright,
	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 \reggedright,
	name = {,},
	number = \arabit{subsection},
	beforeskip = 1.0ex plus 0.2ex minus .2ex,
	afterskip = 1.0ex plus 0.2ex minus .2ex,
	aftername = \hspace{0pt}
	
	}

}
4.2.2 文章大纲及目录
1.章节大纲

oneside和twoside,book类文档默认为twoside模式:双面打印模式,在这种模式下,默认新章节从奇数页码开始打印,所以会自动留白,
我们只需要在documentclass的选项中指定book为oneside的模式,就可以消除留白. 如下:

\documentclass[UTF8,a4paper,15pt,titlepage,oneside]{ctexbook}
%导言区
\documentclass{ctexbook} %ctexbook,ctexrep
%\usepackage{ctex}
%===设置标题的格式===
\ctexset{
	section = {
		%format用于设置章节标题全局格式,作用域为标题和编号
		%字号为小四,字体为黑体,左对齐
		%+号表示在原有格式下附加格式命令
		format+ = \zihao{-4} \heiti \raggedright,
		%name用于设置章节编号前后的词语
		%前、后词语用英文状态下,分开
		%如果没有前或后词语可以不填
		name = {,},
		%number用于设置章节编号数字输出格式
		%输出section编号为中文
		number= \chinese{section},
		%beforeskip用于设置章节标题前的垂直间距
		%ex为当前字号下字母x的高度
		%基础高度为1.0ex,可以伸展到1.2ex,也可以收缩到0.8ex
		beforeskip = 1.0ex plus 0.2ex minus .2ex,
		%afterskip用于设置章节标题后的垂直间距
		afterskip = 1.0ex plus 0.2ex minus .2ex,
		%aftername用于控制编号和标题之间的格式
		%\hspace用于增加水平间距
		aftername= \hspace{0pt}
	},
	subsection = {
		format+ = \zihao{5} \heiti \raggedright,
		%name={\thesubsection、},
		name = {,},
		number= \arabic{subsection},
		beforeskip = 1.0ex plus 0.2ex minus .2ex,
		afterskip = 1.0ex plus 0.2ex minus .2ex,
		aftername= \hspace{0pt}
	}
}

%正文区 (文稿区)
\begin{document}
	\chapter{绪论}
		\section{研究的目的和意义}
		\section{国内外研究现状}
			\subsubsection{国外研究现状}
			\subsubsection{国内研究现状}
		\section{研究内容}
		\section{研究方法和技术路线}
			\subsubsection{研究内容}
			\subsubsection{技术路线}


\chapter{实验结果与分析}
	\section{引言}
	近年来,随着逆向工程和三维重建工程的发展和应用,
	获取现实世界中物体的三维数据的方法越来越多。
	
	近年来,随着逆向工程和三维重建工程的发展和应用,\par
	获取现实世界中物体的三维数据的方法越来越多。
	\section{实验方法}
	\section{实验结果}
		\subsection{数据}
		\subsection{图表}
			\subsubsection{实验条件}
			\subsubsection{实验过程}
		\subsection{结果分析}
	\section{结论}
	\section{致谢}
\end{document}

在这里插入图片描述

在这里插入图片描述

2.章节大纲及目录
\documentclass{ctexbook}

% 正文区
\begin{document}

	\tableofcontents % 生成目录
	
	\chapter{绪论} % 产生大纲
	\section{一级标题}
	\subsection{二级标题} 
	% 注意此时\subsubsection{二级标题} 无效

	\chapter{实验结果分析} % 产生大纲
	\section{一级标题}
	\subsection{二级标题} 


\end{document}

在这里插入图片描述

3.文章目录
% 可以在导言区加入下面两行,实现去除页眉及标题左对齐
\pagestyle{plain}	% 去除页眉
\CTEXsetup[format={\Large\bfseries}]{section}	% 标题左对齐


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

%\usepackage{ctex}

%===设置标题的格式===

\ctexset{
	section = {
		%format用于设置章节标题全局格式,作用域为标题和编号
		%字号为小四,字体为黑体,左对齐
		%+号表示在原有格式下附加格式命令
		format+ = \zihao{-4} \heiti \raggedright,
		%name用于设置章节编号前后的词语
		%前、后词语用英文状态下,分开
		%如果没有前或后词语可以不填
		name = {,},
		%number用于设置章节编号数字输出格式
		%输出section编号为中文
		number= \chinese{section},
		%beforeskip用于设置章节标题前的垂直间距
		%ex为当前字号下字母x的高度
		%基础高度为1.0ex,可以伸展到1.2ex,也可以收缩到0.8ex
		beforeskip = 1.0ex plus 0.2ex minus .2ex,
		%afterskip用于设置章节标题后的垂直间距
		afterskip = 1.0ex plus 0.2ex minus .2ex,
		%aftername用于控制编号和标题之间的格式
		%\hspace用于增加水平间距
		aftername= \hspace{0pt}
	},
	subsection = {
		format+ = \zihao{5} \heiti \raggedright,
		%name={\thesubsection、},
		name = {,},
		number= \arabic{subsection},
		beforeskip = 1.0ex plus 0.2ex minus .2ex,
		afterskip = 1.0ex plus 0.2ex minus .2ex,
		aftername= \hspace{0pt}
	}
}

%正文区 (文稿区)
\begin{document}
	\section{引言}
	近年来,随着逆向工程和三维重建工程的发展和应用,
	获取现实世界中物体的三维数据的方法越来越多。
	
	近年来,随着逆向工程和三维重建工程的发展和应用,\par
	获取现实世界中物体的三维数据的方法越来越多。
	\section{实验方法}
	\section{实验结果}
	\subsection{数据}
	\subsection{图表}
	\subsubsection{实验条件}
	\subsubsection{实验过程}
	\subsection{结果分析}
	\section{结论}
	\section{致谢}
\end{document}

在这里插入图片描述

5.LaTeX中特殊字符

5.1空格

%  导言区:
\usepackage{ctexbook} 

% 正文区
\begin{document}
	\section{空白符号}
	英文中 直接使用空格键生成空格(多个空格编译结果只有一个空格)
	中文中 直接使用空格后编译结果没有空格
	在中文中添加英文 中英文混排 此时在中文和英文之间会生成空格
	空行分段, 多个空行等同一个
	自动缩进,绝对不能使用空格代替
	汉字与其他字符的间距会自动由xelatex处理
	禁止使用中文全角空格

\end{document}
空格方式宽度
a \quad b1em
a \qquad b2em
a \, b1/6em
a \thinspace b1/6em
a \enspace b0.5em
a \ b (\加空格)空格
a~b硬空格 (不能分割的空格)
a \kern 1pc b (或者a \kern -1em b)生成指定宽度的空白(负值字母会换位)
a \hslip 1em b生成指定宽度的空白(1pc = 12pt = 4.218mm)
a \ hspace{35pt} b根据参数生成指定空白
a \hphantom {xyz} b根据参数的占位宽度产生对应宽度空白
a \hfill b产生弹性长度空白(充满整个空间)

LaTeX数学公式支持除上述空格以外,还支持如下空格:

空格方式源代码宽度
中等空格$a \; b$2/7字符宽度
小空格$a \, b$1/6字符宽度
紧贴$a \! b$缩进1/6字符宽度

5.2 控制符

%  导言区:
\documentclass{ctexart}  


% 正文区
\begin{document}
	\section{控制符}
	\# \$ \% \{ \} \~{} \_{} \^{}  \&  % 生成 # $ % { } ~ _ ^ &
	\textbackslash  %文本模式中产生反斜杠\, 因为双反斜杠\\是换行 
\end{document}

在这里插入图片描述

5.3 排版符号

可查看 http://mohu.org/info/symbols/symbols.htm
1、指数和下标可以用^和_后加相应字符来实现。比如:

在这里插入图片描述
2、平方根(square root)的输入命令为:\sqrt,n 次方根相应地为: \sqrt[n]。方根符号的大小由LATEX自动加以调整。也可用\surd 仅给出符号。比如:
在这里插入图片描述

3、命令\overline 和\underline 在表达式的上、下方画出水平线。比如:

在这里插入图片描述

4、命令\overbrace 和\underbrace 在表达式的上、下方给出一水平的大括号。

在这里插入图片描述

5、向量(Vectors)通常用上方有小箭头(arrow symbols)的变量表示。这可由\vec 得到。另两个命令\overrightarrow 和\overleftarrow在定义从A 到B 的向量时非常有用。

在这里插入图片描述

6、分数(fraction)使用\frac{…}{…} 排版。一般来说,1/2 这种形式更受欢迎,因为对于少量的分式,它看起来更好些。

在这里插入图片描述

7、积分运算符(integral operator)用\int 来生成。求和运算符(sum operator)由\sum 生成。乘积运算符(product operator)由\prod 生成。上限和下限用^ 和_来生成,类似于上标和下标。
在这里插入图片描述

以下提供一些常用符号的表示方法

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.4 引号

%  导言区:
\usepackage{ctexbook} 

% 正文区
\begin{document}
	\section{引号}
	` `` % 数字键1旁边的`表示单引号中文的左单引号', 连续``表示左双引号
	' '' %  单引号键' 输出中文的右单引号, 连续'' 表示右单引号

\end{document}

5.5 连字符 及非英文字符

%  导言区:
\documentclass{ctexart}  


% 正文区
\begin{document}
	\section{连字符}
	- -- --- %生成短------三种连字符
	\section{非英文字符}
	\oe \OE \ae \AE \aa \AA \o \O \l \L \ss \SS !` ?`
\end{document}

在这里插入图片描述

6.LaTeX中的插图

具体可以打开 texdoc graphicx 文档查看, 图片编号自动编排

6.1单张图片

若要让图片编号与章节关联,可以通过导入下面的包实现

% 导言区
\usepackage{amsmath}
\numberwithin{figure}{section}

在这里插入图片描述

%  导言区:
\usepackage{ctexart} 
\usepackage{graphicx} % 需要导入宏包
\graphicspath{{figures/},{pics/}} % 图片在当前目录下的figures目录,或者也可以设置多个路径 pics目录
% 格式 EPS PDF PNG JPEG BMP

% 正文区
\begin{document}
	%开始插入图片
	达尔文游戏---见图\ref{pic1}
	\begin{figure}[htbp] % 浮动体 htbp代表图片插入位置的设置
	\centering %图片居中
	
	% 添加图片;[]中为可选参数,scale缩放因子, height高度, width宽度,angle旋转角度
	% height=0.1 \textheitht版型文本高度的0.1倍的图像高度;
	% width=0.1\textwidth版型文本宽度的0.1倍的图像宽度,{}中为图片的相对位置
	
	\includegraphics[width=6cm]{image.jpg}
	\caption{达尔文游戏} % 图片标题 
	\label{pic1} % 图片标签
	\end{figure}
\end{document}

达尔文游戏—见图 1
在这里插入图片描述
解决图文不分离问题:

\usepackage{float}
\usepackage{graphicx}
\begin{figure}[H]
... figure contents ...
\end{figure}
% 使用float包,并设置[H]选项,强制图出现在文档中的固定位置(相对于文字)

6.2 多张图片

并排插入两张图片
方式1:图片编号增加1
两张图片公用一个大的图题,图片的编号只增加一个

\begin{figure}[ht]
\centering

\subfigure[11-1]{               %小图题的名称
\includegraphics[width=4cm]{11-1}}

\hspace{10pt}  %2张图片的水平距离

\subfigure[11-2]{
\includegraphics[width=4cm]{11-2}}

\caption{两张图片公用的图题}

\end{figure}

方式2:图片编号增加2
每张图片有自己的图题,这种方法会使LaTeX中图片的编号顺序向后增加。

\begin{figure}[htbp]
	\centering
	\begin{minipage}[t]{0.48\textwidth}
		\centering
		\includegraphics[width=6cm]{Multi-featured-tumors}
		\caption{World Map}
	\end{minipage}
	\begin{minipage}[t]{0.48\textwidth}
		\centering
		\includegraphics[width=6cm]{Multi-featured-tumors2}
		\caption{Concrete and Constructions}
	\end{minipage}
\end{figure}


6.3并排插入多张图片

\begin{figure}
\centering
{
\includegraphics[width=2.5cm]{10-1}}
\hspace{10pt}    %每张图片水平距离
{
\includegraphics[width=2.5cm]{10-2}}
\hspace{10pt}
{
\includegraphics[width=2.5cm]{10-3}}
\hspace{10pt}
{
\includegraphics[width=2.5cm]{10-4}}
\hspace{10pt}
\caption{并排插入4张图片}
\end{figure}

6.4 竖排插入多张图片

\begin{figure}[h]
\centering
\subfigure[场景1]{
\begin{minipage}[t]{0.45\textwidth}
\centering
\includegraphics[width=0.8\textwidth]{wolf2} \\
\vspace{10pt} %2张图片的垂直距离
\includegraphics[width=0.8\textwidth]{wolf3}
\end{minipage}
\end{figure}
}

两图并排继承figure的编号


\begin{figure}[htbp]
	\begin{minipage}[t]{0.5\linewidth}
		\centering
		\includegraphics[width=0.8\linewidth]{1111111111111.png}
	\caption{李萨如图形合成原理}
	\label{s3}
	\end{minipage}%
	\begin{minipage}[t]{0.5\linewidth}
		\centering
		\includegraphics[width=0.6\linewidth]{222222222222.png}
	\caption{利用里萨如图判断频率比}
	\label{s4}
	\end{minipage}
	
\end{figure}

在这里插入图片描述

7.LaTeX中的表格

若要表格编号与章节关联,可以导入下面包

% 导言区
\usepackage{amsmath}
\numberwithin{table}{section}

7.1表格

在命令行窗口使用 texdoc booktab (三线表格) 打开相应的宏包文件
longtab 跨越长表格 ; tabu 综合表格

\documentclass{ctexart}  

% 正文区
\begin{document}
	使用表 \ref{tab}所示表格 %实现对表格的交叉使用
	\begin{table}[htbp] % htbp代表表格浮动位置
		\centering % 表格居中
		\caption{变量表}\label{tab} % 添加表头 label为表格浮动体设置标签
		
		%l左对齐 c居中对齐 r右对齐 |产生竖线(|| 产生双竖线) p{1.2cm}产生指定宽度的表列,超出则自动换行
		\begin{tabular}{|l | c| r|} 
			
			\hline % 产生表格横线 (\hline \hline 产生双横线)
			
			姓名 & 英文 & 数学 \\  % 各列用&分开 用\\结束本行,产生新行
			\hline
			张三 & 33 & 33 \\
			\hline
			里斯 & 76 & 28\\
			\hline
		\end{tabular}
	\end{table}
\end{document}

在这里插入图片描述

7.2 三线表

\begin{table}[]
\centering
  \caption{The caption of this table}
\begin{tabular}{lcccc}
\toprule
   & SVM & SMO & J48 & Random Forest \\
   \midrule
TP & 1   & 2   & 3   & 1             \\
FP & 1   & 2   & 3   & 1             \\
FN & 1   & 2   & 3   & 1            \\
\bottomrule
\end{tabular}
\label{}
\end{table}

在这里插入图片描述
线条宽度自定义: 可以通过简单的在\toprule,\bottomrule,\midrule 后面添加我们的参数。[XXmm],[XXpt]来进行设置

\documentclass{article}
%表格
\usepackage{booktabs}
\usepackage{threeparttable}

%跨列或跨行 单元合并
\usepackage{multicol}
\usepackage{multirow}

%为字体添加颜色
\usepackage{color}

%多行注释
\usepackage{verbatim}

\begin{document}
   
        \begin{comment}%多行注释
            h,此处(here) - 代码所在的上下文位置
            t,页顶(top) - 代码所在页面或之后页面的顶部
            b,页底(bottom) - 代码所在页面或之后页面的底部
            p,独立一页(page) - 浮动页面
        \end{comment}
   
        \begin{table}[htpb] %表格浮动体 htpb表示位置  依次尝试h,t,p,b 
        \centering %表格居中
        \fontsize{10}{6}\selectfont    %10表示字体大小   6表示各行的间距
        \begin{threeparttable} %三线表
            \begin{tabular}{ccccc}  %每列都居中 有几列就有几个c
                \toprule         %顶部线
               
                %\multirow, \multicolumn可以对多行或列的单元格进行合并
                \multirow{2}{*}{\bf Truth}&
                \multicolumn{4}{c}{\bf Prediction}\cr %{\bf xx}加粗加黑  &每一行元素的分隔符 \cr换行符
               
                \cmidrule(lr){2-5}   %局部中线 横跨2-5&Others&Angry&Sad&Happy\cr
               
                \midrule %中部线
                Others&4424&{\color{red} 101}&{\color{red} 60}&{\color{red} 92}\cr %{\color{red} xx} 为表格中的字体加颜色
               
                Angry&{\color{red} 54}&237&6&1\cr
               
                Sad&{\color{red} 44}&11&192&3\cr
               
                Happy&{\color{red} 88}&0&2&194\cr
                \bottomrule %底部线
            \end{tabular}
           
        \end{threeparttable}
        \caption{A confusion matrix} %表格描述
        \label{tab:confusion_matrix} %表格标签 在正文中可以用 Table \ref{tab:confusion_matrix}引用
        %注意\label{} 要放在\caption{}之后,否则在正文中引用时,表的序号会是表格当前所在章节的序号。
    \end{table}
\end{document}

在这里插入图片描述

8.LaTeX中的浮动体

见 6,7
例如6中

\begin{figure}[htbp] % 浮动体 htbp代表图片插入位置的设置

\end{figure}

[htbp]是个可选参数项,允许用户指定图片、表格等元素被放置的位置。这一可选参数项可以是下列字母的任意组合。

h(here): 当前位置;将图形放置在 正文文本中给出该图形环境的地方。如果本页所剩的页面不够, 这一参数将不起作用。
t(top): 顶部;将图形放置在页面的顶部。
b(bottom): 底部;将图形放置在页面的底部。
p(page): 浮动页;将图形放置在一只允许有浮动对象的页面上。

注意:在使用这些参数时:

如果在图形环境中没有给出上述任一参数,则缺省为 [tbp]。
给出参数的顺序不会影响到最后的结果。因为在考虑这些参数时LaTeX总是尝试以 h-t-b-p 的顺序来确定图形的位置。所以 [hb] 和 [bh] 都以h-b 的顺序来排版。
给出的参数越多,LaTeX的排版结果就会越好。[htbp], [tbp], [htp], [tp] 这些组合得到的效果不错,[h]也是常用的选择。

9.LaTeX中的数学公式

9.1数学公式初步

%  导言区:
%  导言区:
\documentclass{article}  
\usepackage{ctex} 
\usepackage{amsmath}


%  正文区  
\begin{document}
	
	\section{行内公式}
		\subsection{美元符号}
			$f(x)=3x^2+2+x-1$   % $里面为数学模式,在$外面为文本模式  单$为行内公式, $$为行间公式(单独一行居中)
		\subsection{小括号}
			\(a+b=b+a \)
		\subsection{math 环境}
			\begin{math}a+b=b+a \end{math}
	\section{上下标}
		\subsection{上标}
			$3x^2 -x +2 =0$
			$3x^{20} -x +2 =0$ %使用{}进行分组
			$3x^{3x^{20} -x +2 =0} -x +2 =0$
		\subsection{下标}
			$a_0, a_1, a_{100} a_{3x^{20} -x +2 =0}$
	
	\section{希腊字母}
		$\alpha^3 + \beta^2 + \gamma =0$
		具体见5.LaTeX中特殊字符的排版符号
	
	\section{数学函数}
		$\log$
		$\sin$
		$\cos$
		$\arcsin$
		进一步构成公式 
		$sin^2 x+ \cos^{2} x =1 $
		具体见5.LaTeX中特殊字符的排版符号
	
	\section{分式}
		大约是原体积的$3/4$
		大约是原体积的$\frac{3}{4}$
		具体见5.LaTeX中特殊字符的排版符号
		
	
	\section{行间公式}
		\subsection{美元符号}
			$$ f(x)=3x^2+2+x-1$$   % $里面为数学模式,在$外面为文本模式  单$为行内公式, $$为行间公式(单独一行居中)
		\subsection{中括号}
			\[a+b=b+a \]
		\subsection{displaymath 环境}
			\begin{displaymath}a+b=b+a \end{displaymath}
		\subsection{自动编号公式equation环境}
			\begin{equation}a+b=b+a %可以使用\label{标签}设置标签 在其他位置使用\ref{标签}引用,交叉引用 
			\end{equation}
		\subsection{不编号公式equation*环境}
			\begin{equation*} % 需要使用amsmath 宏包
			a+b=b+a %可以使用\label{标签}设置标签 在其他位置使用\ref{标签}引用,交叉引用
			\end{equation*}
		
\end{document}

在这里插入图片描述
在这里插入图片描述

9.2数学公式矩阵

%  导言区:
\documentclass{article} 
\usepackage{ctex} 
\usepackage{amsmath} %编写矩阵需要引用该宏包
\newcommand{\adots}{\mathinner{\mkern2mu%
		\raisebox{0.1em}{.}\mkern2mu\raisebox{0.4em}{.}%
		\mkern2mu\raisebox{0.7em}{.}\mkern1mu}}


%  正文区  
\begin{document}
	% 矩阵环境 用&分隔列, 用\\分隔行
	% matrix环境 矩阵两端无矩阵符号
	\[
	\begin{matrix}
		0 & 1\\
		1 & 0
	\end{matrix}
	\]
	
	
	% pmatrix环境 %在矩阵两端加小括号
	\[
	\begin{pmatrix}
		0 & 1\\
		1 & 0
	\end{pmatrix} 
	\]
	
	
	% bmatrix环境 %在矩阵两端加中括号
	\[
	\begin{bmatrix}
		0 & 1\\
		1 & 0
	\end{bmatrix}
	\]
	
	
	% Bmatrix环境 %在矩阵两端加大括号
	\[
	\begin{Bmatrix}
		0 & 1\\
		1 & 0
	\end{Bmatrix}
	\]


	% vmatrix环境 %在矩阵两端加单竖线
	\[
	\begin{vmatrix}
		0 & 1\\
		1 & 0
	\end{vmatrix}
	\]
	
	
	% Vmatrix环境 %在矩阵两端加双竖线
	\[	\begin{Vmatrix}
		0 & 1\\
		1 & 0
	\end{Vmatrix}
	\]
	% 可以使用上下标 常用省略号: \dots (横省略号) \vdots (竖省略号) 
	% \ddots (主对角线\省略号) \adots (副对角线/省略号) \times (排版乘号X)
	%注意 \adots 本身不存在需要重新定义新命令
	\[
	A = \begin{pmatrix}
		a_{11}^2 & \dots   & a_{13}^2 \\
		         & \ddots  & \vdots \\
		0 		 & 		   & a_{33}  
	\end{pmatrix}_{n \times n} % nxn矩阵
	\]


	% 分块矩阵(矩阵嵌套)
	\[
	\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_{1n} \\
		       & 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 1n \\
		\hdotsfor{4} \\
		m 	& \frac m2 & \dots & \frac mn \\
		% \frac 12 (分数1/2)
	\end{pmatrix}
	\]
	
	
	% 文本行内小矩阵 (smallmatrix)环境
	复数 $z = (x,y)$ 也可以用矩阵
	\begin{math}
		\left( % 需要手动加上左括号
			\begin{smallmatrix}
			x & -y \\ y & x
			\end{smallmatrix}
		\right) %需要手动加入右括号
	\end{math} 表示
	 % \left \right 需要成对出现


	% array环境(类似表格环境tabular)
	\[
	\begin{array}{r|r}
		\frac12 & 0\\
		\hline % 产生横线
		0       & -\frac abc\\
	\end{array}
	\]
	
	
	%复杂矩阵排版可以使用多种嵌套
	%\underbrace {\rule{17mm}{0mm}}_m  产生下标大括号 \rule尺寸
	    %用array环境构造复杂矩阵
	\[
	% @{<内容>}- 添加任意内容,不占表项计数。
	%此处添加一个负值空白,表示向左移-5pt的距离。
	\begin{array}{c@{\hspace{-5pt}}l}
	%第一行,第一列
		\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)
		%第一行,第二列
		\begin{array}{l}
		% \left.仅表示与\right\}配对,什么都不输出
		\left. \rule{0mm}{7mm} \right\} p \\
		\\
		\left. \rule{0mm}{7mm} \right\} q
		\end{array}
		\\ [-5pt]
		%第二行,第一列
		\begin{array}{cc}
		\underbrace{\rule{17mm}{0mm}}_m &
		\underbrace{\rule{17mm}{0mm}}_m
		\end{array}
		& %第二行,第二列
	\end{array}
	\]
\end{document}

在这里插入图片描述
在这里插入图片描述

9.3 数学多行公式

%  导言区:
\documentclass{article}  
\usepackage[UTF8]{ctex} 
\usepackage{amsmath}
\usepacksge{amssymb}


%  正文区  
%  导言区:
\documentclass{article}  
\usepackage[UTF8]{ctex} 
\usepackage{amsmath}
\usepackage{amssymb}


%  正文区  
\begin{document}
	% gather环境(可以使用\\换行)
	% 自动生成编号
	% 可以在\\前使用\notag 阻止编号
	\begin{gather}
		a + b = b + a \\
		ab +bc
	\end{gather}
	
	% gather环境(可以使用\\换行)
	% 不编号
	\begin{gather*}
		a + b = b + a \\
		3 \times 5 = 5 \times 3
	\end{gather*}

	
	% align 和align*环境 (使用&进行对齐)
	%带编号
	\begin{align}
		y &= t + \cos t + 1\\
		y &=2t
	\end{align}
	% 不编号
	\begin{align*}
		y &= t & x &=\cos t\\
		y &=2t & y &= \sin t
	\end{align*}
	
	%split 环境 (对齐采用align 环境的方式, 编号在中间(按照一个公式编号))
	\begin{equation}
		\begin{split}
			\cos 2x &= \cos^2 x - \sin^2 x \\
					&= 2\cos^2 x - 1\\
					&= 1 - 2\sin^2 x
		\end{split}
	\end{equation}
	
	% cases环境 分段函数
	% 每行公式中使用&分隔为两部分
	% 通常表示值和后面的条件 
	% 按照一个公式编号
	\begin{equation}
		D(x) = \begin{cases}
				1 & \text{如果} x \in \mathbb{Q} \\
				0 &  \text{如果} x \in \mathbb{R}\setminus\mathbb{Q}
			\end{cases}
	\end{equation}
\end{document}

在这里插入图片描述
若要取消公式自动编号,则在公式后面添加下面命令

\nonumber 

10.LaTeX中的参考文献

10.1 参考文献bibitem (一次使用一次管理)

%导言区
\documentclass{ctexart}

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

\begin{document}
	引用一篇文章 \cite{article1}   引用一本书 \cite{book1} 等等
	\begin{thebibliography}{99}
		\bibitem{article1}陈立辉,孙伟,蔡川,陈晓云, \emph{基于LaTeX的Web数学公式提取方法研究}[J].计算机科学.2014(06)
		\bibitem{book1}William H.Press,Saul A. Teukolsky,
		William T. Vetterling ,Brian P. Flannery,
		\emph{Numerical Recipes 3rd Edition :The Art of Scientific Computing }
		Cambridge University Press ,New York ,2007.
		\bibitem{latexGuide}Kopka Helmut,W.Daly Patrick,
		\emph{Guide to \LaTeX}, $ 4^{th} $ Edition.
		Available at \texttt{https://www.amazon.com}
		\bibitem{latexMath} Graetzer George, \emph{Math Into \LaTeX},
		BirkhA user Boston; 3 ediotion (June 22,2000).
	\end{thebibliography}
\end{document}

10.2参考文献BibTex (一次管理 多次使用)

更多细节可参考其宏包文档

  1. 设置TeXstudio->构建->默认文献工具: BibTeX
  2. 创造新文件保存为后缀名为.bib,在该文件中编写参考文献的详细信息
    参考文献编辑:
    方式一: 可以使用google, 搜索bibtex, 点击引用链接, 打开后下方有一个BibTex链接, 点击打开, 可以得到该文献BibTex格式数据, 直接copy到参考文献数据库中
    方式二: 知网检索中导入数据, 使用安装有zotero的火狐浏览器, 打开zotero网站->Download Now ->下载firefox Extension 扩展包(工具栏会添加有相应zotero工具按钮->打开知网搜索->点击zotero按钮->勾选需要导入的参考文献条目->打开zotero操作面板, 选择需要导出的文献条目->鼠标右键, 点击导出条目->选择BibTeX格式->可以指定路径及文件名, 后缀.bib->将文件copy到当前路径
% @Book书籍参考文献
@book{mittelbach2004,   % 引用标志
  author = {Peter Babington}, 
  title = {The title of the work},
  publisher = {The name of the publisher},
  year = 1993,
  volume = 4,
  series = 10,
  address = {The address},
  edition = 3,
  month = 7,
  note = {An optional note},
  isbn = {3257227892}
}
  1. 引用
    修改后注意清理过程文件
%  导言区:
\documentclass{article}  
\bibliographystyle{plain} % 指定参考文献的排版样式


%  正文区  
\begin{document}
	这是一个参考文献的引用: \cite{mittelbach2004}
	\bocite{*} % *排版所有文献,包括未引用的
	\bibliography{test,cnki} %指定参考文献数据库文件,可以不带扩展名.bib, 不同数据库用,分隔; 不出现未引用的文献

\end{document}

10.3 参考文献BibLaTeX (一次管理 多次使用)

  1. 设置TeXstudio->构建->默认文献工具: Biber
  2. 创造新文件保存为后缀名为.bib,在该文件中编写参考文献的详细信息
  3. 引用
    修改后注意清理过程文件
%  导言区:
\documentclass{article}  
\usepackage[style=numeric, backend=biber]{biblatex} %引入biblatex宏包,style样式,backend后端程序
\addbibresource{text.bib}  % 添加参考文献数据库,不可以省略其扩展名.bib


%  正文区  
\begin{document}
	无格式化引用 \cite{biblatex}
	带方括号的引用 \parencite{a1-1}
	上标引用 \supercite{6-1}
	\nocite{*}  % *列出未引用的全部文献, 也可以指定
	\printbibliography[title={参考文献}]  %输出参考文献列表,标题默认为英文, 可使用title修改为中文参考文献

\end{document}

推荐样式文件 https://gitlab.com/CasperVector/biblatex-caspervector
打开主页->下载压缩包并解压->打开文件中tex->将全部文件copy到当前工作目录
按拼音排序参数修改: 设置TeXstudio->命令->Biber->修改成biber.exe -1 zh__pinyin%
按笔画排序 -1 zh__stroke

%  导言区:
\documentclass{article}  
\usepackage[style=caspervector, backend=biber, utf8, sorting=centy]{biblatex} % 排序方式sorting中 c中文 e英文 n作者姓名 t文献标题 y出版年份
\addbibresource{text.bib}  % 添加参考文献数据库,不可以省略其扩展名.bib


%  正文区  
\begin{document}
	无格式化引用 \cite{biblatex}
	带方括号的引用 \parencite{a1-1}
	上标引用 \supercite{6-1}
	\nocite{*}  % *列出未引用的全部文献, 也可以指定
	\printbibliography[title={参考文献}]  %输出参考文献列表,标题默认为英文, 可使用title修改为中文参考文献

\end{document}

另外可以使用bat批处理文件执行对应编译操作

  1. 打开当前路径, 确保存在.bib数据库文件 .tex源文件 .cbx .bbx 等参考文献样式文件
  2. 建立一个新文件,将其后缀改成.bat, 编辑以下内容到该文件
xelatex latexRedBibLaTeX
biber -1 zh__phinyin latexRedBibLaTeX
xelatex latexRedBibLaTeX
xelatex latexRedBibLaTeX
del *.aux *.bbl *.bcf *.blg *.log *.xml

  1. 执行该文件,可以查看最终编译结果

11.LaTeX中的自定义命令和环境

%  导言区:
\documentclass{article}  
% \newcommand 定义命令
% 命令只能由字母组成, 不能以\end开头
% \newcommand<命令>[<参数个数>][<首参数默认值>]{<具体定义>}
% 只能为第一个参数指定默认值(使用中括号)
\newcommand\loves[3][喜欢]{#2 #1#3 }

%\renewcommand 重定义命令 与\newcommand 作用和用法相同,但只能用于也有命令
%\renewcommand 与\newcommand 可以定义和重定义环境

%  正文区  
\begin{document}
	\loves{}{} %编译结果  猫喜欢鱼
	\loves{最爱}{}{} %编译结果  猫最爱鱼
\end{document}

11.LaTeX常见问题

取消段落自动缩进

全局取消

\setlength{\parindent}{0pt}

单段取消

\noindent

换页

\clearpage

自定义页眉跟页脚

\pagestyle{empty } 
% empty 没有页眉页脚;
% plain 没有页眉,页脚是居中的页码;
% heading 没有页脚,页眉是章节名称的页码;
% myheading 没有页脚,页眉是页码和用户自定义的内容。

使用 \pagestyle{} 设置整体页面风格,也可以用 \thispagestyle{} 单独设置当前页的风格。book 类默认使用 heading 风格,report 和 article 默认使用 plain 风格,中文的几个 ctex 文档类则都默认使用 heading 风格。
详细可参考 https://blog.csdn.net/xovee/article/details/119647249

自定义页眉与页脚
使用fancyhdr包来进行页眉页脚的设置:
注意:

  1. 命令\geometry{}必须放在\pagestyle{fancy}之前
  2. 首页\maketitle后需要加上\thispagestyle{fancy}
\usepackage{fancyhdr} %导入包
\pagestyle{fancy} %指定pagestyle

%clears the header and footer,
%otherwise the elements of the 
%default "plain" page style will appear.
\fancyhf{} 

可以设置页眉页脚各自左中右共6个位置的内容

\lhead{}
\chead{}
\rhead{}
\cfoot{\thepage}
\rfoot{}
\lfoot{}

关于页码的显示:\thepage
若要用到总页数,则需要导入包lastpage

\usepackage{lastpage}
此时可以设置页码为如x/x的格式:
\cfoot{\thepage / \pageref{LastPage}}

若要设置页眉页脚线宽,使用如下命令:

\renewcommand{\headrulewidth}{0.1mm}
\renewcommand{\footrulewidth}{0.1mm}
% 设为0时,不显示相应的线

页边距

\documentclass[a4paper,12pt]{ctexart}  % 页布局为a4纸
\usepackage{geometry}  % 导入该宏包
\geometry{left=2cm,right=2cm,top=2.5cm,bottom=25mm}

条目 列举编号 描述

LaTeX中三种列举的形式:itemize和enumerate还有description。

  1. itemize 分条目
\begin{itemize}
\item[*] a
\item[*] b
\end{itemize}

编译结果为:

  • a
  • b

item的方括号里的内容是为定制前面的符号,可以不要(连同括号),那么前面的符号就是默认的黑点,也可以换为其他的符号,如-,+,等
2. enumerate 编号

\begin{enumerate}[1)]
\item a
\item b
\end{enumerate}

这样出来的形式为:
1) a
2) b
方括号里的内容是定制前面的编号的形式,可以不加,默认就是简单的数字,也可以换成[step 1],[(i)]等,LaTeX可以自动识别。但是要注意,使用了方括号,必须在前面加\usepackage{enumerate}.
3. description 描述

\begin{description}
\item[item a] a
\item[item b] b
\end{description}

编译出来的形式为:
item a a
item b b
方括号的词会作为一个描述出现在item的前面。

消除itemize环境中item间空行

\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\setlist[itemize]{noitemsep, topsep=0pt}
 % 宏包enumitem,消除itemize环境中item间空行

让三级标题不在目录上显示

在导言区使用以下代码
\setcounter{tocdepth}{2}

多个tex文件汇总主文件

在导言区使用以下代码
\usepackage{docmute} % 用于在编译主文件时去除所有子文件代码的引言部分

\begin{document}
	\input{logisticRegression.tex}
\end{document}

修改章节标题格式

\ctexset{
	section = {	
		format={\centering\Large\bfseries},
		name={,}
		}
		}
% 其他级标题类似,修改其他参数另查

只显示一、二级标题

\setcounter{tocdepth}{2} % 只显示一、二级标题

多行公式跨页显示

\allowdisplaybreaks[4] % 多行公式跨页显示

配置父文件夹、图片库

\graphicspath{{machine-learning/}} % 配置父文件夹
\graphicspath{{Image/}} % 图片库
\numberwithin{figure}{section} % 图像编号关联所在章节编号

三线表宏包

\usepackage{booktabs} % 三线表宏包

\usepackage{booktabs,colortbl}
\begin{document}
	\begin{table}[h!]
	  \centering
	  \small
	  \begin{tabular}{p{60pt}<{\centering}|p{60pt}	<{\centering}p{180pt}<{\raggedright}}
	   \hline
	   \headcol 序号 & 符号 & 符号说明 \\
	   \hline
	    1 & $\nu$ & 行车速度(km/h) \\
	    2 & t$_{\min}$ & 车头最小时距(s) \\
	    3 & $J_{\rm a}$ & 车头最小间隔(m) \\
	    4 & $J_{\rm z}$ & 车辆平均长度(m) \\
	    5 & $J_{\gamma}$ & 车辆的制动距离(m) \\
	    6 & $J_{\max}$ & 司机在反应时间内车辆行驶的距离(m) \\
	    7 & $A_{\max}$ & 最大交通量 \\
	    8 & $\alpha_{1}$ & 车道数修正系数 \\
	    9 & $\alpha_{2}$ & 车道宽度和侧向净宽修正系数 \\
	    10 & $\alpha_{3}$ & 大型车修正系数 \\
	    11 & $\alpha_{4}$ & 驾驶员技术水平修正系数 \\
	    12 & $K_{j}$ & 阻塞密度 \\
	    13 & $\nu_{f}$ & 自由车速 \\
	    $\cdots$ & $\cdots$\\
	    \hline
	  \end{tabular}
	  %\caption{符号与说明}
	  \label{symbol}
	\end{table}
\end{document}

在这里插入图片描述

\usepackage{booktabs,colortbl}
\begin{document}
	\begin{table*}[h!]
	  \centering
	  \small
	  \tabcolsep 2.5pt
	  \caption{主次道路参数表}
	\begin{tabular*}{0.8\linewidth}{p{60pt}<{\centering}p{60pt}<{\centering}
	p{60pt}<{\centering}p{80pt}<{\centering}p{80pt}<{\centering}}
	\toprule
	  道路类型  &  主干路  &  支干路  &  小区内宽道路  &  小区内窄道路  \\
	  \midrule
	  行车速度  & 50 km / h & 40 km / h & 30 km / h & 20 km / h \\
	 车道数  & 4 & 3 & 2 & 1 \\
	\bottomrule
	  \end{tabular*}
	  \label{tab10}
	\end{table*}
\end{document}

在这里插入图片描述

\usepackage{booktabs,colortbl}
\begin{document}
	\begin{table*}[h!]
  \centering
  \small
  \tabcolsep 2pt
  \caption{我国服务水平划分标准}
\begin{tabular*}{0.87\linewidth}{p{60pt}<{\centering}p{40pt}<{\centering}
p{40pt}<{\centering}p{40pt}<{\centering}p{40pt}<{\centering}
p{80pt}<{\centering}p{40pt}<{\centering}}
\toprule
服务水平 (L0S)  & \multicolumn{2}{c} {一级 } & 二级  & 三级  & \multicolumn{2}{c} {四级 } \\
\cline{2-3}\cline{6-7}
服务交通量  & 800 & 1200 & 1800 & 2500 & $A_{D}$ & $\leqslant A_{P}$ \\
 速度  km / h & 120 & 120 & 120 & 120 & $\geqslant V_{p}$ & $\leqslant V_{p}$ \\
 V / C & 0.33 & 0.48 & 0.71 & 1.0 & $A_{p} / A_{\max}\leqslant 1.0$ & -(无意义 ) \\
\bottomrule
  \end{tabular*}
\end{table*}
\end{document}

在这里插入图片描述

表格应具有三线表格式,因此常用 booktabs宏包,其标准格式如\cref{tab:001}~所示。
\begin{table}[!htbp]
    \caption{标准三线表格}\label{tab:001} \centering
    \begin{tabular}{ccccc}
        \toprule[1.5pt]
        $D$(in) & $P_u$(lbs) & $u_u$(in) & $\beta$ & $G_f$(psi.in)\\
        \midrule[1pt]
        5 & 269.8 & 0.000674 & 1.79 & 0.04089\\
        10 & 421.0 & 0.001035 & 3.59 & 0.04089\\
        20 & 640.2 & 0.001565 & 7.18 & 0.04089\\
        \bottomrule[1.5pt]
    \end{tabular}
\end{table}

在这里插入图片描述

\begin{table}[h]%htbp表示的意思是latex会尽量满足排在前面的浮动格式,就是h-t-b-p这个顺序,让排版的效果尽量好。
    \centering
    \begin{tabular}{p{2.0cm}<{\centering}p{9.0cm}<{\centering}p{2.0cm}<{\centering}}
 %指定单元格宽度, 并且水平居中。
    \hline
    符号 & 说明 & 单位 \\ %换行 
    \hline
    $\int$ & 积分符号 &  \\ %把你的符号写在这
    $W_0$ & 区分高峰和低峰的一个临界值 &  \\ %把你的符号写在这
    $M_t$ &  简单移动平均项 &  \\ %把你的符号写在这
    \hline
    \end{tabular}
\end{table}

在这里插入图片描述

附录

\begin{table}[htbp]
    \centering
    \begin{tabular}{|p{14.0cm}|}
 %指定单元格宽度, 并且水平居中。
    \hline
    \textbf{附录1} \\ %换行 
    \hline
    介绍:支撑材料的文件列表  \\ 
    \\
    \\
    \\
    \hline
    \end{tabular}
\end{table}

\begin{table}[htbp]
    \centering
    \begin{tabular}{|p{14.0cm}|}
 %指定单元格宽度, 并且水平居中。
    \hline
    \textbf{附录2} \\ %换行 
    \hline
    介绍:该代码是某某语言编写的,作用是什么   \\ 
    \\
    \\
    \\
    \hline
    \end{tabular}
\end{table}

文献引用

% 放在正文区
\begin{thebibliography}{99}
\addcontentsline{toc}{section}{参考文献}
\bibitem{1} 李向鹏. 城市交通拥堵对策——封闭型小区交通开放研究~[D]. 交通运输工程,
2014.4.
\bibitem{2} 司守奎等. 数学建模算法与应用~[M]. 北京:国防工业出版社,2011.8 第一版;
\bibitem{3} 吕彬. 城市居住区“开放性”模式研究~[D]. 建筑设计,2006.6.
\bibitem{4} 茹红蕾. 城市道路通行能力的影响因素研究~[D]. 交通运输工程,2008.3.
\bibitem{5} VISSIM 软件路网搭建教程.
\url{http://wenku. baidu.com/view/7bc33214680203d8ce2f24c4.html}
\bibitem{6} 赵琳,邵长桥. 基于~VISSIM 的高速公路基本路段实际通行能力仿真分析~[J]. 道
路交通与安全,2007.2.
\bibitem{7} 李冬梅,李文权. 道路通行能力的计算方法 [J]. 河南大学学报,2002.6:24-27.
\bibitem{8} 城市轨道施工安全及交通组织 [S].2014.
\bibitem{9} 李鑫, 李雪等. 城市道路网络脆弱性评估指标研究综述~[J]. 公路交通科技,
2016.1155-157.
\bibitem{10} 詹斌, 蔡瑞东等. 基于城市道路网络脆弱性的小区开放策略研究 [J]. 技术方法,
2016.798-101.
\bibitem{11} 彭驰. 物流园区交通影响分析研究~[D]. 交通运输工程,2007, 4.
\end{thebibliography}

在这里插入图片描述

指定章节等的初始值

	\setcounter{section}{+8}
	% 其他subsection等同理

在这里插入图片描述

去除目录页的页码页眉等

% 在目录生成命令后加入即可。
\thispagestyle{empty}

表格:控制前后距离、合并单元格、控制单元格宽度、字体带下划线

先要引入以下宏包

\usepackage{multirow} %合并表格行
\usepackage{makecell} %表格P居中对齐

合并行单元格使用: \multirow{合并的行数}{*}{次数}
合并列单元格使用:\multicolumn{列数}{c|}{D}
合并行单元格后,合并的行内不要横线,其余单元格横线:
使用\cline{2-7}替代 \hline
单元格自定义宽度:p{3em}<{\centering}其中使用\centering居中要引入上面的宏包
字体带下划线且定义下划线宽度:\underline{\makebox[4em][c]{1mm}}(单位:$cm$)
控制整个表的宽度使用:\setlength{\tabcolsep}{12.2mm}

	\setlength{\tabcolsep}{12.2mm}{
	\begin{tabular}{|c|c|c|c|}
	
	\end{tabular}
		}

例子:

\begin{table}[H] 
	\setlength{\abovecaptionskip}{0cm}  %段前
	\setlength{\belowcaptionskip}{0.5cm} %段后
	\centering % 表格居中
	\caption{以螺旋测微器测玻璃球的数据\qquad 最小分度值:\underline{\makebox[4em][c]{1mm}} (单位:$cm$)}
	\label{T-2}
	\setlength{\tabcolsep}{12.2mm}{
	\begin{tabular}{|c|c|c|c|}
		\hline
		\multirow{2}{*}{次数} & \multicolumn{3}{c|}{玻璃球直径$D$}  \\
		\cline{2-4}
		&  读数 & 校正值 & 测定值 \\
		\hline
		1 &  &  &   \\
		\hline
		2 &  &  &   \\
		\hline
		3 &  &  &   \\
		\hline
		4 &  &  &   \\
		\hline
		5 &  &  &   \\
		\hline
		6 &  &  &   \\
		\hline
		平均值 & \multicolumn{3}{c|}{$ \bar D$=}    \\
		\hline
	\end{tabular}}
\end{table}

在这里插入图片描述
合并行列:\multicolumn{6}{|c|}{\multirow{2}{*}{匀减速}} ,第二行采用\multicolumn{6}{|c|}{~}占位,直接使用~会出先多余的竖线

% \usepackage{multirow} %合并表格行
% \usepackage{makecell} %表格P居中对齐
% \usepackage{makecell} %表格换行

\begin{table}[H] 
	\setlength{\abovecaptionskip}{0cm}  %段前
	\setlength{\belowcaptionskip}{0.5cm} %段后
	\centering % 表格居中
	\caption{实验台转动惯量测量数据记录表 }
	\label{3-2-1}
\scriptsize   
	\begin{tabular}{|p{4em}<{\centering}|p{3em}<{\centering}|p{3em}<{\centering}|p{3em}<{\centering}|p{3em}<{\centering}|p{3em}<{\centering}|p{4em}<{\centering}|p{3em}<{\centering}|p{3em}<{\centering}|p{3em}<{\centering}|p{3em}<{\centering}|p{3em}<{\centering}|}
		\hline
	\multicolumn{6}{|c|}{\multirow{2}{*}{匀减速}} & \multicolumn{6}{|c|}{\multirow{2}{*}{匀加速\qquad $R_\text{塔伦}=25mm$\qquad$m_\text{砝码}=53.4g$}}  \\
		\multicolumn{6}{|c|}{~}&\multicolumn{6}{|c|}{~}\\
		\hline
		$k$&1 & 2& 3& 4& \multirow{4}{*}{\makecell[c]{$\beta_1$\\平\\均}}& $k$& 1& 2&3 & 4&\multirow{4}{*}{\makecell[c]{$\beta_2$\\平\\均}}\\
		\cline{1-5}\cline{7-11}
		$t(s)$& 0.4598& 0.9213& 1.3856&1.8516 & & $t(s)$& 0.6618&1.1694 &1.5992 &1.9776 &\\
		\cline{1-5}\cline{7-11}
		$k$& 5& 6& 7& 8& &	$k$& 5& 6& 7& 8&\\
		\cline{1-5}\cline{7-11}
		$t(s)$&2.3204 & 2.7908&3.2642 &3.7392 & & 	$t(s)$&2.3205 & 2.6358& 2.9302&3.2103 &\\
		\hline
	\makecell[c]{	$\beta_1(1/s^2)$}&\makecell[c]{-0.0677} &\makecell[c]{{-0.0703}} & \makecell[c]{-0.0691}& \makecell[c]{-0.0692}& \makecell[c]{-0.0690}&	\makecell[c]{	$\beta_2(1/s^2)$} & \makecell[c]{\ 2.4383}& \makecell[c]{\ 2.4255}& \makecell[c]{\ 2.4216}&\makecell[c]{\ 2.3922} &\makecell[c]{\ 2.4194}\\
		\hline
		\multicolumn{3}{|c|}{$J_1(kgm^2)$} & \multicolumn{9}{|c|}{ }\\ 
		\hline
	\end{tabular}
\end{table}

在这里插入图片描述

定义个人信息栏

\begin{table}[H]
	\centering
	\begin{tabular}{llll}

	    \multicolumn{4}{c}{{\bf \zihao{3} 附:实验报告}}\\[2em]
		&\makebox[3em][s]{专业:}  \underline{\makebox[10em][l]{数据科学与大数据技术}} 
		&\makebox[3em][s]{年级:} \underline{\makebox[6em][l]{2021}} 
		&\makebox[5em][s]{完成日期:}  \underline{\makebox[6em][l]{ 2022.09.09} }\\[0.5em]	   
		&\makebox[3em][s]{学号:} \underline{\makebox[10em][l]{ 2120220087}} 		
		&\makebox[3em][s]{姓名:}\underline{\makebox[6em][l]{ 庄汐}} 	  
		&\makebox[5em][s]{成    绩:} \underline{\makebox[6em][l]{}} 	
	\end{tabular}
\end{table}

在这里插入图片描述

在tex里面插入外部PDF自定义封面

\usepackage{pdfpages} %将PDF文件加入到封面位置

\begin{titlepage}	
	\includepdf[pages={1}]{cover.pdf} %外界自建封面,调用
\end{titlepage}

给PDF添加水印

\usepackage{draftwatermark}         % 所有页加水印
%\usepackage[firstpage]{draftwatermark} % 只有第一页加水印
\SetWatermarkText{庄汐 111111}           % 设置水印内容
%\SetWatermarkText{\includegraphics{fig/texlion.png}}         % 设置水印logo
\SetWatermarkLightness{0.9}             % 设置水印透明度 0-1
\SetWatermarkScale{0.5}                   % 设置水印大小 0-1  

在这里插入图片描述

图片与文字并排

1.使用minipage的方式混排图片和文字,达到图片在右侧,文字在左侧的效果
注意minipage可以当做一个page来使用,它独立成为一个单元,里面可以添加figure, tabular, equation, text等资源。

\begin{minipage}[b]{0.65\linewidth}
some text
\end{minipage}
\hfill
\begin{minipage}[b]{0.35\linewidth}
\includegraphics[height=8\baselineskip]{grafics}
\end{minipage}

等同于创建两个横向排列的minipage,各占线宽0.65和0.35.
左边一个minipage中有文字some text, 右边一个minipage是一张图片

2.使用wrapfig实现并排

% \usepackage{wrapfig}
\begin{wrapfigure}[16]{r}{6cm} % 纵向8行,图片靠右,宽度12.5em
	\begin{center}
		\includegraphics[width=6cm,height=10cm]{210016.png}
		\caption{}
		\label{fig:01.31}
	\end{center}
\end{wrapfigure}
智能计时计数器可测量时间、速度、加速度等多种物理量。在本实验中利用单电门、多
脉冲测量时间。 \par 
插电开机后显示“智能计数计时器 成都世纪中科”画面延时一段时间后,显示操作
界面:上行为测试模式名称和序号,例:“1 计时 ”表示按模式选择/查询下翻按钮选择
测试模式。下行为测试项目名称和序号,例:“11 单电门 ”表示项目选择/查询上翻
按钮选择测试项目。\par 
选择好测试项目后,按确定键,LCD 将显示“选 A 通道测量 ” ,然后通过按模式
选择/查询下翻按钮和项目选择/查询上翻按钮进 A 或 B 通道的选择,选择好后再次按下确认
键即可开始测量。一般测量过程中将显示“测量中*****”,测量完成后自动显示测量值,若
该项目有几组数据,可按查询下翻按钮或查询上翻按钮进行查询,再次按下确定键退回到项
目选择界面。如未测量完成就按下确定键,则测量停止,将根据已测量到的内容进行显示,
再次按下确定键将退回到测量项目选择界面

在这里插入图片描述

Wrapfig 宏包提供了一个 wrapfigure 环境30.1来排版窄小的图形,使得 该图形位于文本的一边,并使文本在其边上折行。
用法:
\begin{wrapfigure}{行数}{位置}{超出长度}{宽度}<图形>\end{wrapfigure}
1.行数
是指图形高度所占的文本行的数目,如果不给出此选项, wrapfig 会自动计算。
2.位置
是指图形相对于文本的位置,须给定下面四项的一个。
r,R 表示图形位于文本的左边。
l,L 表示图形位于文本的右边。
i,R 表示图形位于页面靠里的一边(用在双面格式里)。
o,O 表示图形位于页面靠外的一边。
3.超出长度
是指图形超出文本边界的长度,缺省为 0pt。
4.宽度
指图形的宽度。 wrapfig 会自动计算 图形的高度。不过,我们也可设定图形的高度,具体可见 wrapfig.sty 内 的说明。
注意事项

在 wrapfigure 后必须紧接着输入段落文字,否则会出错。
不能在任何列表环境中使用 wrapfigure,也不能在 列表环境前后使用,除非两者之间有一空行或分段指令 \par。
如果将 wrapfigure 放在 \parbox 或小页环境 等分组中,文本折行必须在这些分组前结束。
在双栏页版式中不能使用 wrapfigure。
如果在 wrapfigure 中使用 figure 等 浮动对象,它的编号有可能不正确。
如果在 wrapfigure 中使用 table 等浮动对象, 它上下方的横线可能被忽略,必须自己再加入。
在折行的文本中, \linewidth 并没有改变。
wrapfig 还可用来放大段落的第一个字。

字体下标在文字正下方

数学模式下提供了\limits命令,形如expr1\limits_{expr2}^{expr3}
中expr2会出现在expr1的正下方,而expr3会出现在expr1的正上方,例如命令

$\sum\limits_{i=0}^n {x_i}$

在这里插入图片描述
但是\limits命令要求expr1必须的数学符号,否则会报错:
解决方法是用\mathop{expr1}命令将expr1转化成数学符号,写成\mathop{expr1}\limits_{expr2}^{expr3}
例如命令

$f_3(d) = \mathop{max}\limits_{x_3}(2x_3 + f_4(d-x_3))$

在这里插入图片描述

插入python代码

第一种使用listings

\usepackage{listings}
\usepackage{ctex}
\usepackage{xcolor}
% 用来设置附录中代码的样式

\lstset{
    basicstyle          =   \sffamily,          % 基本代码风格
    keywordstyle        =   \bfseries,          % 关键字风格
    commentstyle        =   \rmfamily\itshape,  % 注释的风格,斜体
    stringstyle         =   \ttfamily,  % 字符串风格
    flexiblecolumns,                
    numbers             =   left,   % 行号的位置在左边
    showspaces          =   false,  % 是否显示空格,显示了有点乱,所以不现实了
    numberstyle         =   \zihao{-5}\ttfamily,    % 行号的样式,小五号,tt等宽字体
    showstringspaces    =   false,
    captionpos          =   t,      % 这段代码的名字所呈现的位置,t指的是top上面
    frame               =   lrtb,   % 显示边框
}

\lstdefinestyle{Python}{
    language        =   Python, % 语言选Python
    basicstyle      =   \zihao{-5}\ttfamily,
    numberstyle     =   \zihao{-5}\ttfamily,
    keywordstyle    =   \color{blue},
    keywordstyle    =   [2] \color{teal},
    stringstyle     =   \color{magenta},
    commentstyle    =   \color{red}\ttfamily,
    breaklines      =   true,   % 自动换行,建议不要写太长的行
    columns         =   fixed,  % 如果不加这一句,字间距就不固定,很丑,必须加
    basewidth       =   0.5em,
}
	%正文区
	\lstinputlisting[
	style       =   Python,
	caption     =   {\bf LVQ.py},
	label       =   {LVQ.py}
	]{../LVQ.py}

	

第二种使用:Highlight – 代码高亮html输出软件
Highlight是一款能够输出html高亮代码的软件。
支持159种程序语言,具体请看:http://www.andre-simon.de/doku/highlight/en/langs.html
内置多种高亮主题,
官方下载页面:http://www.andre-simon.de/zip/download.html

第三种 https://andy123t.github.io/2020/06/11/LaTeX-CodeStyle/

实例1:

\usepackage{listings}
\lstset{
	 breaklines,    						 % 自动将长的代码行换行排版
	columns=fixed,       
	numbers=left,                            % 在左侧显示行号
	numberstyle=\tiny\color{gray},           % 设定行号格式
	escapeinside=``,						 %逃逸字符(1左面的键),用于显示中文  
	frame=none,                  			 % 不显示背景边框
	backgroundcolor=\color[RGB]{245,245,244}, % 设定背景颜色
	keywordstyle=\color[RGB]{40,40,255},     % 设定关键字颜色
	numberstyle=\footnotesize\color{darkgray},   
	commentstyle=\it\color[RGB]{0,96,96},    % 设置代码注释的格式
	stringstyle=\rmfamily\slshape\color[RGB]{128,0,0},%设置字符串格式
	showstringspaces=false, 				 % 不显示字符串中的空格 
	tabsize=4, 								 %设置tab空格数
	language=c,   							 % 设置语言
}


\begin{lstlisting}        
	
int seekBookSeat(SqList L) {
	//查找位置图书信息
	int seat;
	printf("请输入需要查询书籍的位置:");
	scanf("%d", &seat);
	if (seat < 1 || seat > L.length)
	return ERROR;
	for (int i = 0; i < L.length; i++) {
		if ((i + 1) == seat) {
			printf("\n位置为%d的书籍信息如下:\n", seat);
			color(2);//绿色字体
			printf("ISBN:%-20s书名:%-20s价格:%.2lf!\n", L.elem[i].id, L.elem[i].name, L.elem[i].price);
			color(0xF);//白色字体
			backtrack();
		}
	}
	color(0xc);
	printf("\n【错误】无相关书籍信息!\n");
	color(0xF);//白色字体
	backtrack();
	return OK;
}

\end{lstlisting}

在这里插入图片描述
实例2

\documentclass{ctex}
\usepackage{listings}
\usepackage{xcolor}      %代码着色宏包



\lstset{
    basicstyle=\tt,
    %行号
    numbers=left,
    rulesepcolor=\color{red!20!green!20!blue!20},
    escapeinside=``,
    xleftmargin=2em,xrightmargin=2em, aboveskip=1em,
    %背景框
    framexleftmargin=1.5mm,
    frame=shadowbox,
    %背景色
    backgroundcolor=\color[RGB]{245,245,244},
    %样式
    keywordstyle=\color{blue}\bfseries,
    identifierstyle=\bf,
    numberstyle=\color[RGB]{0,192,192},
    commentstyle=\it\color[RGB]{96,96,96},
    stringstyle=\rmfamily\slshape\color[RGB]{128,0,0},
    %显示空格
    showstringspaces=false
}

\begin{document}
\lstset{language=C}
\begin{lstlisting}        %插入要显示的代码
#include <stdio.h>
int main(int argc, char ** argv)
{
    /*`打印`Hello,world*/
    printf("Hello, world!\n");

    return 0;
}

\end{lstlisting}
\end{document}

在这里插入图片描述

latex中,tableofcontents在section上也添加目录虚线

\usepackage{titletoc}\titlecontents{section}[0pt]{\bfseries\addvspace{2pt}\filright}              
{\contentspush{\thecontentslabel\ 
}}              
{}{\titlerule*[8pt]{.}\contentspage}


表格自动换行

使用p{0.2\textwidth}

\begin{table}[H] 
	\centering % 表格居中
	\caption{用例列表}
\setlength{\tabcolsep}{4mm}{
\begin{tabular}{|p{0.2\textwidth}<{\centering}|p{0.1\textwidth}<{\centering}|p{0.6\textwidth}<{\centering}|}
	\hline
	类名字&用例名称& 描述  \\
	\hline
	MyFrame.java&主框架类&用于将图像等绘制到swing的GUI窗口,以及实现键盘鼠标的操作\\
	\hline
	BackGround.java& 背景类 &主要用于绘制各个关卡的背景图像与敌人   \\
	\hline
	Enemy.java& 敌人类& 用于产生敌人以及敌人的运动 \\
	\hline
	StaticValue.java& 常量类& 将src/imgs下的所有图片加载入程序 \\
	\hline
	Obstacle.java& 障碍物类& 判断为何种障碍物,并显示对应图像,如果是棋子,则单独创建一个线程运行 \\
	\hline
	Mario.java& 马里奥类& 产生一个马里奥的线程,显示马里奥图像,以及判断马里奥的运动状态\\
	\hline
	Music.java& 音乐类& 通过type判断并产生线程播放对应音乐\\
	\hline
\end{tabular}}
\end{table}

在这里插入图片描述

部分标题居中,其他不变居左


\addcontentsline{toc}{section}{参考文献}
\CTEXsetup[format={\large\zihao{-3}\heiti\bfseries\centering},beforeskip=0.5em,afterskip=0.5em]{section}
\begingroup  % 去掉thebibliography环境自带的“参考文献”标题
\begin{thebibliography}{99}
	\bibitem{article0}陈新泉,周灵晶,刘耀中.聚类算法研究综述[J].集成技术,2017,6(03):41-49.
	\bibitem{citekey1}邓林培.经典聚类算法研究综述[J].科技传播,2019,11(05):108-110.DOI:10.16607/j.cnki.1674-6708.2019.05.053.
	\bibitem{2}李卫军.K-means聚类算法的研究综述[J].现代计算机(专业版),2014(23):31-32+36.
	\bibitem{3}褚轲欣,荀亚玲.基于相似度均值的分类数据层次聚类分析算法[J].计算机技术与发展,2022,32(11):154-163.
	\bibitem{5}张雨如.基于动态建模的层次聚类算法研究.2022.中国矿业大学,MA thesis.
\end{thebibliography}

在这里插入图片描述

自定义各级标题


\ctexset{
	section={
		%format用于设置章节标题全局格式,作用域为标题和编号
		%字号为小三,字体为黑体,左对齐
		%+号表示在原有格式下附加格式命令
		format+ = \zihao{-3} \heiti \raggedright,
		%name用于设置章节编号前后的词语
		%前、后词语用英文状态下,分开
		%如果没有前或后词语可以不填
		name = {,},
		%number用于设置章节编号数字输出格式
		%输出section编号为中文
		number = \chinese{section},
		%beforeskip用于设置章节标题前的垂直间距
		%ex为当前字号下字母x的高度
		%基础高度为1.0ex,可以伸展到1.2ex,也可以收缩到0.8ex
		beforeskip = 1.0ex plus 0.2ex minus .2ex,
		%afterskip用于设置章节标题后的垂直间距
		afterskip = 1.0ex plus 0.2ex minus .2ex,
		%aftername用于控制编号和标题之间的格式
		%\hspace用于增加水平间距
		aftername = \hspace{0pt}
	},
	subsection={
		format+ = \zihao{4} \kaishu \raggedright,
		%仅输出subsection编号且为中文
		number = \chinese{subsection},
		name = {,},
		beforeskip = 1.0ex plus 0.2ex minus .2ex,
		afterskip = 1.0ex plus 0.2ex minus .2ex,
		aftername = \hspace{0pt}
	},
	subsubsection={
		%设置对齐方式为居中对齐
		format+ = \zihao{-4} \fangsong \centering,
		%仅输出subsubsection编号,格式为阿拉伯数字,打字机字体
		number = \ttfamily\arabic{subsubsection},
		name = {,.},
		beforeskip = 1.0ex plus 0.2ex minus .2ex,
		afterskip = 1.0ex plus 0.2ex minus .2ex,
		aftername = \hspace{0pt}
	}
}

\tableofcontents目录居中

\renewcommand{\contentsname}{\centerline{目录}}
\tableofcontents 

在这里插入图片描述

listings代码排版模板

模板1:

\usepackage{listings}                % 粘贴源代码
\usepackage{xcolor}
\usepackage{color}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\usepackage{xcolor}
\lstset{
	frame=tb,
	aboveskip=3mm,
	belowskip=3mm,
	showstringspaces=false,
	columns=flexible,
	framerule=1pt,
	rulecolor=\color{gray!35},
	backgroundcolor=\color{gray!5},
	basicstyle={\small\ttfamily},
	numbers=none,
	numberstyle=\tiny\color{gray},
	keywordstyle=\color{blue},
	commentstyle=\color{dkgreen},
	stringstyle=\color{mauve},
	breaklines=true,
	breakatwhitespace=true,
	tabsize=3,
}


在这里插入图片描述
模板2:

\usepackage{listings}
\usepackage{xcolor}      %代码着色宏包
\usepackage{CJK}         %显示中文宏包


\lstset{
	basicstyle=\tt,
	%行号
	numbers=left,
	escapeinside=``,
	%背景框
	framexleftmargin=1.7mm,
	frame=shadowbox,
	%背景色
	rulesepcolor=\color{red!20!green!20!blue!20},%代码块边框为淡青色
	keywordstyle=\color{blue!90}\bfseries, %代码关键字的颜色为蓝色,粗体
	commentstyle=\it\color[RGB]{0,96,96},   % 设置代码注释的颜色
	showstringspaces=false,%不显示代码字符串中间的空格标记
	backgroundcolor=\color[RGB]{245,245,244},
	breaklines=true, %对过长的代码自动换行
	%样式
	keywordstyle=\color{blue}\bfseries,
	identifierstyle=\bf,
	numberstyle=\color[RGB]{0,192,192},
	commentstyle=\it\color[RGB]{96,96,96},
	stringstyle=\rmfamily\slshape\color[RGB]{128,0,0},
	%显示空格
	showstringspaces=false
}

在这里插入图片描述
模板3

\usepackage{listings}
\usepackage{xcolor}
\lstset{
	language=java,  %代码语言使用的是matlab
	frame=none, %把代码用带有阴影的框圈起来
	rulesepcolor=\color{red!20!green!20!blue!20},%代码块边框为淡青色
	keywordstyle=\color{blue!90}\bfseries, %代码关键字的颜色为蓝色,粗体
	commentstyle=\it\color[RGB]{0,96,96},   % 设置代码注释的颜色
	showstringspaces=false,%不显示代码字符串中间的空格标记
	numbers=none, % 显示行号
	numberstyle=\tiny,    % 行号字体
	stringstyle=\ttfamily, % 代码字符串的特殊格式
	breaklines=true, %对过长的代码自动换行
	extendedchars=false,  %解决代码跨页时,章节标题,页眉等汉字不显示的问题
	%   escapebegin=\begin{CJK*},escapeend=\end{CJK*},      % 代码中出现中文必须加上,否则报错
	texcl=true}


在这里插入图片描述

表格背景颜色

导入宏包\usepackage[table]{xcolor} %表格背景颜色

在要添加背景色的那一行的代码前加入\rowcolor{green!40}即可。

其中,green代表绿色,可随意更改颜色,40代表颜色深浅百分度为40%,可随意更改。

示例

	\begin{table}[H] 
		\setlength{\abovecaptionskip}{0cm}  %段前
		\setlength{\belowcaptionskip}{0.5cm} %段后
		\centering % 表格居中
	\begin{tabular}{|c|c|c|}
		\hline
	\rowcolor{black!20}	指标名称 & 指标特点 & 例子 \\
		\hline
		极大型(效益型)指标 & 越大(多)越好 &  成绩、GDP增速、企业利润 \\
		\hline
		极小型(成本型)指标 &  越小(少)越好  &  费用、坏品率、污染程度 \\
		\hline
		中间型指标 & 越接近某个值越好 &  水质量评估时的PH值 \\
		\hline
		区间型指标 & 落在某个区间最好 & 体温、水中植物性营养物量 \\
		\hline
	\end{tabular}
\end{table}
	

在这里插入图片描述
其他添加背景颜色方法

求和符号在上下标的位置

在这里插入图片描述
添加链接描述

LATEX 绘制示意图

\documentclass{article}
\usepackage{ctex}
\usepackage{tikz}

\begin{document}
\begin{figure}[htbp]
  \centering
  \begin{tikzpicture}[node distance=3cm, every node/.style={rectangle, draw}]
    % Nodes
    \node (component1) [fill=blue!20] {组件1};
    \node (component2) [fill=green!20, right of=component1] {组件2};
    \node (component3) [fill=red!20, right of=component2] {组件3};
    \node (jms) [fill=yellow!20, below of=component2] {JMS};
    % Arrows
    \draw [->] (component1) -- (jms);
    \draw [->] (component2) -- (jms);
    \draw [->] (component3) -- (jms);
    \draw [->] (jms) -- (component1);
    \draw [->] (jms) -- (component2);
    \draw [->] (jms) -- (component3);
  \end{tikzpicture}
  \caption{基于JMS的解耦和可扩展性示意图}
\end{figure}
\end{document}

在这里插入图片描述

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,shapes,arrows}

\begin{document}
\begin{figure}[htbp]
	\centering
	\resizebox{0.8\textwidth}{!}{%
		\begin{tikzpicture}[node distance=3.5cm, auto]
			% Styles
			\tikzstyle{component} = [rectangle, draw, fill=blue!20, text width=6em, text centered, rounded corners, minimum height=3em]
			\tikzstyle{middleware} = [rectangle, draw, fill=orange!20, text width=6em, text centered, rounded corners, minimum height=3em]
			\tikzstyle{arrow} = [thick,->,>=stealth]
			
			% Nodes
			\node [component] (component1) {应用组件1};
			\node [component, right=of component1] (component2) {应用组件2};
			\node [middleware, below=of component1] (jms) {JMS中间件};
			
			% Arrows
			\draw [arrow] (component1) -- (jms);
			\draw [arrow] (jms) -- (component2);
			\draw [arrow, dashed] (component2.south) -- ++(0,-1) -| (component1.south);
			\draw [arrow, dashed] (component1.north) -- ++(0,1) -| (component2.north);
			
			% Labels
			\node [below=0.8cm of component1] {解耦};
			\node [below=0.8cm of component2] {解耦};
			
		\end{tikzpicture}
	}
	\caption{JMS在解耦应用组件中的作用示意图}
\end{figure}
\end{document}

在这里插入图片描述

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}[node distance=2cm, every node/.style={align=center}]
  % JMS components
  \node (producer) [draw] {JMS Producer};
  \node (consumer) [draw, below of=producer] {JMS Consumer};
  \node (queue) [draw, left of=producer, xshift=-3cm] {JMS Queue};
  \node (topic) [draw, right of=consumer, xshift=3cm] {JMS Topic};

  % Spring components
  \node (spring) [draw, dashed, above of=producer, yshift=1cm] {Spring Framework};
  \node (messageListener) [draw, below of=spring] {Message Listener};
  \node (messageConverter) [draw, below of=messageListener] {Message Converter};
  \node (connectionFactory) [draw, left of=spring, xshift=-3cm] {Connection Factory};
  \node (transactionManager) [draw, right of=spring, xshift=3cm] {Transaction Manager};

  % Arrows
  \draw[->] (producer) -- (queue);
  \draw[->] (consumer) -- (topic);
  \draw[->] (queue) -- (consumer);
  \draw[->] (topic) -- (producer);
  \draw[->] (producer) -- (messageListener);
  \draw[->] (consumer) -- (messageListener);
  \draw[->] (messageListener) -- (messageConverter);
  \draw[->] (messageConverter) -- (messageListener);
  \draw[->] (spring) -- (producer);
  \draw[->] (spring) -- (consumer);
  \draw[->] (spring) -- (messageListener);
  \draw[->] (spring) -- (connectionFactory);
  \draw[->] (spring) -- (transactionManager);
\end{tikzpicture}
\end{document}

在这里插入图片描述


\begin{figure}[H]
	\centering
	\resizebox{0.8\textwidth}{!}{%
		\begin{tikzpicture}[node distance=3cm, every node/.style={draw, fill=blue!20, text width=6em, text centered, minimum height=3em}]
		
		% Config Center
		\node (config) {配置中心};
		
		% Order Service
		\node (order) [below right=of config] {订单微服务};
		
		% Product Service
		\node (product) [below left=of config] {商品微服务};
		
		% RocketMQ
		\node (rocketmq) [below=of config] {RocketMQ};
		
		% Eureka
		\node (eureka) [below=of order, xshift=-2cm] {注册中心};
		
		% Docker
		\node (docker) [below=of order, xshift=2cm] {Docker容器};
		
		% Arrows
		\draw [thick,->,>=stealth] (config) -- (order);
		\draw [thick,->,>=stealth] (config) -- (product);
		\draw [thick,->,>=stealth] (order) -- (rocketmq);
		\draw [thick,->,>=stealth] (product) -- (rocketmq);
		\draw [thick,->,>=stealth] (order) -- (eureka);
		\draw [thick,->,>=stealth] (product) -- (eureka);
		\draw [thick,->,>=stealth] (order) -- (docker);
		\draw [thick,->,>=stealth] (product) -- (docker);
		
		% Labels
		\node (label-config) [below=0.8cm of config] {配置管理};
		\node (label-order) [below=0.8cm of order] {订单微服务};
		\node (label-product) [below=0.8cm of product] {商品微服务};
		\node (label-rocketmq) [below=0.8cm of rocketmq] {RocketMQ};
		\node (label-eureka) [below=0.8cm of eureka] {注册中心};
		\node (label-docker) [below=0.8cm of docker] {Docker容器};
		
\end{tikzpicture}}
	\caption{系统示意图}
\end{figure}

在这里插入图片描述

LATEX 章节单独编译

第一步:将导言区导入的宏包的命令统一放在一个tex中统一管理,并放置这句代码\usepackage{docmute} % 用于在编译主文件时去除所有子文件代码的引言部分

第二步:在总tex与章节tex中都按照正常tex编写(包括导言区\documentclass[11pt,fleqn]{book} 与正文区,其中导言区导入其他宏包使用\input{structure} ,structure.tex则是第一步中统一管理导入的宏包的命令的tex
在这里插入图片描述
这样就实现了可编译的单独章节tex与总tex

在总tex中导入章节特写

\input{tex/Data_Acquisition_Cleaning.tex}

在这里插入图片描述

表格太宽越界解决方法

添加\resizebox{\textwidth}{!}{},让其自动调整字体的大小。
例如:

\begin{table*}[!t]
\centering
\caption{***}
\label{***}
\resizebox{\textwidth}{!}{
\begin{tabular}{***}
\hline
***
\end{tabular}}
\end{table*}

调整图片与标题·文字的间距

全局调整:在导言区加入\setlength{\abovecaptionskip}{0.cm}
单独调整:在figur环境中加入该代码

\begin{figure}[H]
	\centering 
	\setlength{\abovecaptionskip}{0.cm}  %调整图片与标题间距
	\includegraphics[width=\linewidth]{Part4_Predictive_Models/多特征评估指标可视化.png} % 多特征各模型评估指标图.png
	\caption{各模型预测结果评估指标图}
\end{figure}
  • 13
    点赞
  • 145
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汐ya~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值