!!!以下代码是在TexStudio编辑器中实现,有疑问的欢迎交流。需要源码的欢迎私聊。
% 导言区
\documentclass[a4paper]{article}
\usepackage{ctex}
\usepackage{xeCJK} %导入这个宏包,就可以支持中文
\usepackage{amsmath} %数学粗体所需要的的宏包
\usepackage{amsfonts} %空心粗体所需要的的宏包
\usepackage{mathtools} %避免手动虚伪调整
\usepackage{esint} %该宏包可能与amsmath冲突,即使使用也请放在amsmath之后加载。
\usepackage{yhmath} %使用波浪线和尖帽号所需的宏包。
\usepackage{mathtools} %提供更改列对齐的宏包
\usepackage{amssymb} %提供大于小于或者小于等于所需的宏包
\usepackage{amsthm} %提供proof环境
\usepackage{mathrsfs} %\mathscr会用到它。
\usepackage{extarrows} %提供一些实用的长箭头与长等符号。
\newcommand{\ud}{\mathop{}\negthinspace\mathrm{d}}
\newcommand{\ue}{\mathrm{e}}
\newcommand{\closure}[2][3]{
{}\mkern#1mu\overline{\mkern-#1mu#2}}
\newcommand{\Bfrac}[2]{\genfrac{[}{]}{0pt}{}{#1}{#2}}
\renewcommand{\*}{discretionary{\,\mbox{$\cdot$}}{}{}}
\theoremstyle{definition}\newtheorem{laws}{Law}[section]
\theoremstyle{plain}\newtheorem{ju}[laws]{Jury}
\theoremstyle{remark}\newtheorem*{marg}{Margaret}
\begin{document}
% 4.1行内与行间公式
% 行内公式是指将公式嵌入到文段的排版方式,要求公式垂直距离不能过高,否则影响排版效果。
% 行内公式的书写方式如下:
% $...$ 或者 \(...\) 或者 \begin{math}...\end{math}
% 一般推荐前两种方式。
$\sum_{i=1}^{n}a_i$
% 另一种公式排版方式是行间公式,也称行外公式,使用如下:
% \[...\] 或者 \begin{displaymath}...\end{displaymath}
% 或者amsmath提供的\begin{equation*}...\end{equation*}
\[\sum_{i=1}^n{a_i}\]
% 从上面的两个例子可以看出,即使输出相同的内容,行内和行间的排版也还是有区别的,比如累加符号上标是写在正上方还是写在右上角。
% 如果行间公式需要编号,则需要equation环境,还可以插入如下标签:
\begin{equation}
\label{eq:NoExample}
|\epsilon|>M
\end{equation}
% 4.2空格、字号与数字字体
% 4.2.1空格
% 在数学环境中,行文空格在排版时会被忽略,比如$x,y$和$x, y$并没有区别。
% 数学环境拥有独特的空格命令,如下例所示:
\noindent$\mbox{没有空格},3/18\mbox{空}\,\mbox{格}$\\
$4/18\mbox{空}\:\mbox{格},5/18\mbox{空}\;\mbox{格}$\\
$9/18\mbox{空}\ \mbox{格},\mbox{一个空}\quad \mbox{格}$\\
$\mbox{两个空}\qquad \mbox{格},\mbox{负}3/18\mbox{空}\!\mbox{格}$
%问题:在数学环境中中文无法显示,使用\mbox{中文}解决。
%其中,最后一个命令是负向空格,会缩小正常的字符间距,其缩减长度是3/18正常空格长度。
%事实上,以上命令也可以在数学环境外使用,其中使用最广泛的是\,,即上文提到过的千位分隔符。
%在数学环境中,\,命令也应用广泛,比如下例的x与dx之间隐含了这种空格:
\[\int_0^1 x \ud{}x = \frac{1}{2}\]
%4.2.2间距
%命令\abovedisplayskip和\belowdisplayskip控制了行间公式与上下文的间距,并且该间距的值不会随字号调整而调整。有时你需要自行指定,默认值是12pt plus 3pt minus 9pt。
%多行公式的间距用\jot来控制,默认值为3pt。
%命令\mathsurrond给出了行内公式与文字间距,除了预留空格之外的间距,默认值为0pt。
%一个有趣的命令\smash,可以将输入对象的全高(即高度与深度之和)视为0来进行排版。
\[\underline{\smash{\int f(x)\ud x}}=1\]
%它也能够通过参数,单独指定忽略高度(t)或深度(b),如下所示:
%高度是指排版对象在基线之上的部分,深度则指在基线之下的部分。
$\sqrt{A_{n_k}} \qquad
\sqrt{\smash[b]{A_{n_k}}}$ %这边有点问题,输出总是有[b]
% 4.2.3字号
%LaTex提供4中字号尺寸命令。
%\displaystyle:行间公式尺寸
%\textstyle:行内公式尺寸
%\scriptstyle:上下标尺寸
%\scriptscriptstyle:次上下标尺寸
% 4.2.4数学字体
%将字体转为正体使用\mathrm命令输出正体。如需保留空格,使用\textrm命令,它既输出正体,也能正常输出空格。
%\textrm命令内的字号可能不会自适应,\mathrm的表现则稳定得多。
%\newcommand{\ue}{\mathrm{e}}
$\ue$
$\mathrm{ABCDabcde 1234}$ \\
$\mathit{ABCDabcde 1234}$ \\
$\mathnormal{ABCDabcde 1234}$ \\
$\mathcal{ABCDabcde 1234}$ \\
% 1.数学粗体
% 数学粗体使用amsmath宏包支持的\boldsymbol命令。命令\boldsymbol只能加粗一个数学环境,其中很可能包括了标点符号,而这是不严谨的。
%命令\mathbf就差得更远,它只能把字体转为正粗体,而数学