LaTeX的基本语法及使用方法
- 【软件安装】
- 技巧
- texstudio 代码格式化快捷键
- 1.前言
- 2. 中文处理方法
- 3.字体字号及颜色设置
- 4.LaTeX文档基本结构
- 5.LaTeX中特殊字符
- 6.LaTeX中的插图
- 7.LaTeX中的表格
- 8.LaTeX中的浮动体
- 9.LaTeX中的数学公式
- 10.LaTeX中的参考文献
- 11.LaTeX中的自定义命令和环境
- 11.LaTeX常见问题
- 取消段落自动缩进
- 换页
- 自定义页眉跟页脚
- 页边距
- 条目 列举编号 描述
- 让三级标题不在目录上显示
- 多个tex文件汇总主文件
- 修改章节标题格式
- 只显示一、二级标题
- 多行公式跨页显示
- 配置父文件夹、图片库
- 三线表宏包
- 附录
- 文献引用
- 指定章节等的初始值
- 去除目录页的页码页眉等
- 表格:控制前后距离、合并单元格、控制单元格宽度、字体带下划线
- 定义个人信息栏
- 在tex里面插入外部PDF自定义封面
- 给PDF添加水印
- 图片与文字并排
- 字体下标在文字正下方
- 插入python代码
- latex中,tableofcontents在section上也添加目录虚线
- 表格自动换行
- 部分标题居中,其他不变居左
- 自定义各级标题
- \tableofcontents目录居中
- listings代码排版模板
- 表格背景颜色
- 求和符号在上下标的位置
- LATEX 绘制示意图
- LATEX 章节单独编译
- 表格太宽越界解决方法
- 调整图片与标题·文字的间距
【软件安装】
技巧
使用XeLaTex编译引擎进行编译,能在有错误的地方提示一个?号
使用方法:
- 在tex文件旁边点击空白地方然后右键选择在“在终端中打开”
- 输入 xelatex tex文件名 进行编译
- 输入pwd可以查看文件路径
texstudio 代码格式化快捷键
Ctrl + X --> Ctrl + V 格式化对应的代码块,比如缩进、对齐等
TexStudio 常用快捷键
1.前言
1.1. \ (反斜杠) : 命令的标志
1.2. 注释
单行注释 : %
多行注释 :
\iffalse
注释内容
\fi
1.3. 导言区与正文区
\maketitle 默认在标题后显示当天日期,如果不想显示这个日期,用
\ title{标题}
\ date{}
\ maketitle
可以用date自定义显示的时间,如:
date{完成于2009年7月20日}
不加时间, 作者时调整标题间距
% 导言区
\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 b | 1em |
a \qquad b | 2em |
a \, b | 1/6em |
a \thinspace b | 1/6em |
a \enspace b | 0.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 (一次管理 多次使用)
更多细节可参考其宏包文档
- 设置TeXstudio->构建->默认文献工具: BibTeX
- 创造新文件保存为后缀名为.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}
}
- 引用
修改后注意清理过程文件
% 导言区:
\documentclass{article}
\bibliographystyle{plain} % 指定参考文献的排版样式
% 正文区
\begin{document}
这是一个参考文献的引用: \cite{mittelbach2004}
\bocite{*} % *排版所有文献,包括未引用的
\bibliography{test,cnki} %指定参考文献数据库文件,可以不带扩展名.bib, 不同数据库用,分隔; 不出现未引用的文献
\end{document}
10.3 参考文献BibLaTeX (一次管理 多次使用)
- 设置TeXstudio->构建->默认文献工具: Biber
- 创造新文件保存为后缀名为.bib,在该文件中编写参考文献的详细信息
- 引用
修改后注意清理过程文件
% 导言区:
\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批处理文件执行对应编译操作
- 打开当前路径, 确保存在.bib数据库文件 .tex源文件 .cbx .bbx 等参考文献样式文件
- 建立一个新文件,将其后缀改成.bat, 编辑以下内容到该文件
xelatex latexRedBibLaTeX
biber -1 zh__phinyin latexRedBibLaTeX
xelatex latexRedBibLaTeX
xelatex latexRedBibLaTeX
del *.aux *.bbl *.bcf *.blg *.log *.xml
- 执行该文件,可以查看最终编译结果
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包来进行页眉页脚的设置:
注意:
- 命令\geometry{}必须放在\pagestyle{fancy}之前
- 首页\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。
- 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.1:155-157.
\bibitem{10} 詹斌, 蔡瑞东等. 基于城市道路网络脆弱性的小区开放策略研究 [J]. 技术方法,
2016.7:98-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 计时 ”表示按模式选择/查询下翻按钮选择
测试模式。下行为测试项目名称和序号,例:“1-1 单电门 ”表示项目选择/查询上翻
按钮选择测试项目。\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}