以下内容包括,文件结构,代码(复制即可成功编译)、另外提供两种美化的定理环境和封面。
基本目录结构

main.tex ————————– 主文件(编译全部章节)
flg ——————————– 存放图像文件的文件夹
config/config.tex + cover.tex —- 配置文件和封面、前言、目录
chap1/chap.tex —————– 第一章(可单独编译)
chap2/chap.tex —————– 第二章(可单独编译)
…… ——————————- 第n章(可单独编译)
加粗的表示文件夹的名称(看图)。
config 文件夹下有两个文件,config.tex 和 cover.tex。
chap1 / chap2 / … 文件夹下有一个文件,chap.tex。
主要代码
main.tex
\def\allfiles{}
\input{config/config} <em>
</em><em></em>
\include{config/cover} <em>
</em><em></em>
<em>
</em><em></em>\include{chap1/chap}
\include{chap2/chap}
<em>
</em><em></em>
config/config.tex
\documentclass[12pt, a4paper,oneside, UTF8]{ctexbook}
\usepackage[dvipsnames]{xcolor}
<em>
</em><em></em> <em>
</em><em></em> <em>
</em><em></em> <em>
</em><em></em> <em>
</em><em></em> <em>
</em><em></em> <em>
</em><em></em>
\usepackage[colorlinks,linkcolor=black]{hyperref}
\graphicspath{ {flg/},{../flg/}, {config/}, {../config/} } <em>
</em><em></em>\linespread{1.5} <em>
</em><em></em>
<em>
</em><em></em>\geometry{top=25.4mm,bottom=25.4mm,left=20mm,right=20mm,headheight=2.17cm,headsep=4mm,footskip=12mm}
<em>
</em><em></em>\setenumerate[1]{itemsep=5pt,partopsep=0pt,parsep=\parskip,topsep=5pt}
\setitemize[1]{itemsep=5pt,partopsep=0pt,parsep=\parskip,topsep=5pt}
\setdescription{itemsep=5pt,partopsep=0pt,parsep=\parskip,topsep=5pt}
<em>
</em><em>
</em><em></em>
\newtheorem{defn}{\indent 定义}[section]
\newtheorem{lemma}{\indent 引理}[section] <em>
</em><em></em>\newtheorem{thm}[lemma]{\indent 定理}
\newtheorem{corollary}[lemma]{\indent 推论}
\newtheorem{criterion}[lemma]{\indent 准则}
\newtheorem{proposition}{\indent 命题}[section]
\newtheorem{example}{\indent \color{SeaGreen}{例}}[section] <em>
</em><em></em>\newtheorem*{rmk}{\indent 注}
<em>
</em><em>
</em><em></em>\renewenvironment{proof}{\textbf{证明.}\;}{\qed}
\newenvironment{solution}{}\;}{\qed}
<em>
</em><em>
</em><em>
</em><em>
</em><em></em>
<em>
</em><em></em>
<em>
</em><em></em>\newcommand{\xrowht}[2][0]{\addstackgap[.5\dimexpr#2\relax]{\vphantom{#1}}}
<em>
</em><em></em>\newcommand{\tabincell}[2]{\begin{tabular}{@{}#1@{}}#2\end{tabular}}
<em>
</em><em></em>\newenvironment{ca}[1][1]{\linespread{#1} \begin{cases}}{\end{cases}}
<em>
</em><em></em>\newenvironment{vx}[1][1]{\linespread{#1} \begin{vmatrix}}{\end{vmatrix}}
\def\d{\textup{d}} <em>
</em><em></em>\def\R{\mathbb{R}} <em>
</em><em></em>\newcommand{\bs}[1]{\boldsymbol{#1}} <em>
</em><em></em>\newcommand{\ora}[1]{\overrightarrow{#1}} <em>
</em><em></em>
<em>
</em><em></em>\newcommand{\pll}{\kern 0.56em/\kern -0.8em /\kern 0.56em}
<em>
</em><em></em>\newcommand{\myspace}[1]{}
config/cover.tex
{\Huge{\textbf{标题:一个 \LaTeX 的数学笔记模板}}} \\ ———副标题:格物致知,慎思明辨
03/31/2023
\thispagestyle{empty}
\begin{center}
\Huge\textbf{前言}
\end{center}
if people do not believe that mathematics is simple,
it is only because they do not realize how complicated life is. ——John von Neumann
\begin{tabular}{c}
03/31/2023 \\ 格物致知,慎思明辨
\end{tabular}
\newpage
\pagestyle{plain}
\pagenumbering{Roman}
目录
目录
1. Gauss公式
2. 导数的概念
3. 偏导数
3.1. 偏导数的定义及其计算法
\newpage
\pagestyle{plain}
\pagenumbering{arabic}
chap1/chap.tex
chap.tex
模板如下
\ifx\allfiles\undefined
\input{../config/config}
\else
\fi
这里写内容
\ifx\allfiles\undefined
\fi
以下是主要演示的内容
\ifx\allfiles\undefined
\input{../config/config}
<em>
</em><em></em>\else
\fi
<em>
</em><em></em>\chapter{曲线积分与曲面积分}
1. Gauss公式
注记 1. 以下是随机选取的演示部分(仅作演示).
定理 1. 设空间闭区域$\Omega$由分片光滑的闭曲面$\Sigma$围成,若函数$P(x,y,z),\;Q(x,y,z) \\ ,R(x,y,z)$在$\Omega$上具有一阶连续偏导数,则有
\begin{equation}
\iiint_{\Omega} \bigg(\frac{\partial P}{\partial x}+\frac{\partial Q}{\partial y}+\frac{\partial R}{\partial z} \bigg)\d v = \oiint_{\Sigma}P\d y\d z+Q\d z\d x+R\d x\d y
\end{equation}
或
\begin{equation}
\iiint_{\Omega} \bigg(\frac{\partial P}{\partial x}+\frac{\partial Q}{\partial y}+\frac{\partial R}{\partial z} \bigg)\d v = \oiint_{\Sigma}(P\cos\alpha+Q\cos\beta+R\cos\gamma)\d S
\end{equation}
这里$\Sigma$是$\Omega$的整个边界曲面的外侧,$\cos\alpha,\;\cos\beta,\;\cos\gamma$是$\Sigma$在点$(x,y,z)$处的法向量的单位余弦.
证明. 设闭区域$\Omega$在$xOy$平面上的投影区域为$D_{xy}$,假定穿过$\Omega$内部且平行于$z$轴的直线与$\Omega$的边界曲面$\Sigma$的交点恰是两个,可设$\Sigma$由$\Sigma_1,\;\Sigma_2$和$\Sigma_3$三部分组成,其中$\Sigma_1$和$\Sigma_2$分别由方程$z = z_1(x,y)$和$z = z_2(x,y)$给定,这里$z_1(x,y) \le z_2(x,y)$,$\Sigma_1$取下侧,$\Sigma_2$取上侧,$\Sigma_3$是以$D_{xy}$的边界曲线为准线而母线平行于$z$轴的柱面上的一部分,取外侧.
由三重积分的计算法,有
\begin{align*}
\iiint_{\Omega}\frac{\partial R}{\partial z}\d v & = \iint_{D_{xy}}\bigg(\int_{z_1(x,y)}^{z_2(x,y)} \frac{\partial R}{\partial z}\d z\bigg) \d x\d y \\
& =\iint_{D_{xy}}\Big\{R\big[x,y,z_2(x,y)\big]-R\big[x,y,z_1(x,y)\big]\Big\}\d x\d y
\end{align*}
又由曲面积分的计算法,有
\begin{gather*}
\iint_{\Sigma_1}R(x,y,z)\d x\d y = -\iint_{D_{xy}}R\big[x,y,z_1(x,y) \big]\d x\d y \\
\iint_{\Sigma_2}R(x,y,z)\d x\d y = \iint_{D_{xy}}R\big[x,y,z_2(x,y) \big]\d x\d y
\end{gather*}
而$\Sigma_3$上任意一块曲面在$xOy$面上的投影为零,由对坐标的曲面积分的定义可知
\[
\iint_{\Sigma_3}R(x,y,z)\d x\d y = 0
\]
上述三式相加有
\[
\oiint_{\Sigma}R(x,y,z)\d x\d y = \iint_{D_{xy}}\Big[R\big[x,y,z_2(x,y)\big]-R\big[x,y,z_1(x,y)\big]\Big]\d x\d y
\]
易得
\[
\iiint_{\Omega}\frac{\partial R}{\partial z}\d v = \oiint_{\Sigma}R(x,y,z)\d x\d y
\]
如果穿过$\Omega$内部且平行于$x$轴的直线以及平行于$y$轴的直线与$\Omega$的边界曲面$\Sigma$的的交点恰好也是两个,类似地可得
\[
\iiint_{\Omega}\frac{\partial P}{\partial x}\d v = \oiint_{\Sigma}P(x,y,z)\d y\d z,\enspace \iiint_{\Omega}\frac{\partial Q}{\partial y}\d v = \oiint_{\Sigma}Q(x,y,z)\d z\d x
\]
上述三式相加即有\textbf{Gauss}公式.
\begin{example}
求微分方程$y''-2y'-3y=3x+1$的一个特解.
\end{example}
\begin{solution}
这是二阶常系数非齐次线性微分方程,且函数$f(x)$是$e^{\lambda{x}}P_m(x)$型,其中
\[
\lambda = 0,\;P_m(x) = 3x+1
\]
与所给方程对应的齐次方程为
\[
y''-2y'-3y=0
\]
其特征方程为
\[
r^2-2r-3 = 0
\]
由于$\lambda = 0$不是特征方程的根,所以设特解
\[
y* = b_0 x + b_1
\]
带入所给方程,得
\[
-3b_0 x - 2b_0 - 3b_1 = 3x+1
\]
比较等式两端$x$同次幂的系数,易得$b_0 = -1,\;b_1 = \dfrac{1}{3}$,于是求得一个特解为
\[
y* = -x + \frac{1}{3}
\]
\end{solution}
定义 2. 设二元函数$f(P) = f(x,\,y)$的定义域为$D$,点$P_0(x_0,\,y_0)$是$D$的聚点,如果存在常数$A$,对于任意给定正数$\varepsilon$,总存在正整数$\delta$,使得当点$P(x,\,y) \in D \cap \mathring{U}(P_0,\,\delta)$时,都有
\[
|f(P)-A| = |f(x,\,y) - A| < \varepsilon
\]
成立,那么就称常数$A$为函数$f(x,\,y)$当$(x,\,y) \to (x_0,\,y_0)$时的极限(二重极限),记作
\[
\lim_{(x,\,y) \to (x_0,\,y_0)}f(x,\,y) = A \quad \lor \quad \lim_{P \to P_0}f(P) = A
\]
\myspace{1}
任意一点$P \in \R^2$与任意一个点集$E \subset \R^2$之间有以下三种关系的一种:
[leftmargin=45pt]
- \textbf{内点}:如果存在点$P$的某个邻域$U(P)$,使得$U(P) \subset E$,那么称$P$为$E$的内点.
- \textbf{外点}:如果存在点$P$的某个邻域$U(P)$,使得$U(P) \cap E = \varnothing$,那么称$P$为$E$的外点.
- \textbf{边界点}:如果点$P$在任意邻域内既含有属于$E$的点,又含有不属于$E$的点,那么称$P$为$E$的边界点.
引入图片
<em>
</em><em></em>\ifx\allfiles\undefined
\fi
chap2/chap.tex
\ifx\allfiles\undefined
\input{../config/config}
<em>
</em><em></em>\else
\fi
\chapter{演示}
2. 导数的概念
定义 3. 设函数$y=f(x)$在点$x_0$的某个邻域内有定义,当自变量$x$在$x_0$处取得增量$\Delta{x}$(点$x_0+\Delta{x}$在该邻域内),因变量取得增量
\[ \Delta{y}=f(x_0+\Delta{x})-f(x_0) \]
如果$\Delta{y}$与$\Delta{x}$之比当$\Delta{x}\to 0$时的极限存在,那么称函数$y=f(x)$在点$x_0$处可导,并称这个极限为函数$y=f(x)$在$x_0$处的导数,记为$f'(x)$,即
\[
f'(x) = \lim_{\Delta{x}\to0}\frac{\Delta{y}}{\Delta{x}} = \lim_{\Delta{x}\to 0}\frac{f(x_0+\Delta{x})-f(x_0)}{\Delta{x}}
\]
或记为$y'|_{x=x_0},\;\dfrac{\d y}{\d x}\Big|_{x = x_0},\;\dfrac{\d f(x)}{\d x}\Big|_{x=x_0},\;f'(x) = \lim\limits_{x\to x_0}\dfrac{f(x)-f(x_0)}{x-x_0}$.
\begin{lemma}[瞎编的引理]
好好学习 => 天天向上
\end{lemma}
定理 4. [瞎编的定理]
山不让尘,川不辞盈
\begin{corollary}[瞎编的推论]
你小子没点赞.
\end{corollary}
\begin{criterion}[夹逼准则]
$a(x) < b(x) < c(x)$,且$\lim{a} = \lim{c} = A$,那么$\lim{b} = A$
\end{criterion}
\begin{proposition}
差若毫厘,谬以千里.
\end{proposition}
\begin{example}
求 $ 1+2 = ?$
\end{example}
\begin{solution}
$\displaystyle 1 + 2 = (1+2)\int_0^1 x^2 \d x + (1+2)\int_0^1 x^2 \d x + (1+2)\int_0^1 x^2 \d x$
\end{solution}
注记 2. 我不会
证明. $1 + 2 = 2 + 1$.
3. 偏导数
3.1. 偏导数的定义及其计算法
定义 5. 设函数$z=f(x,\,y)$在点$(x_0,\,y_0)$的某一邻域内有定义,当$y$固定在$y_0$而$x$在$x_0$处有增量$\Delta x$时,相应的函数有增量$f(x_0 + \Delta{x},\,y_0) - f(x_0,\,y_0)$,如果
\[
\lim_{\Delta{x} \to 0}\frac{f(x_0 + \Delta{x},\,y_0)-f(x_0,\,y_0)}{\Delta{x}}
\]
存在,那么称此极限为函数$z=f(x,\,y)$在点$(x_0,\,y_0)$处对$x$的偏导数(一点处的偏导),记作:
\[
\frac{\partial z}{\partial x}\Big| _{x=x_0,\, y=y_0} ,\enspace \frac{\partial f}{\partial x}\Big| _{x=x_0,\, y=y_0} ,\enspace f_x(x_0,y_0),\enskip {f_x}'(x_0,y_0)
\]
类似地,函数$z=f(x,\,y)$在点$(x_0,\,y_0)$处对$y$的偏导数定义为
\[
\lim_{\Delta{y} \to 0}\frac{f(x_0,\,y_0+\Delta{y})-f(x_0,\,y_0)}{\Delta{y}}
\]
记作同上,定义可推广到$n$元函数.
\begin{example}
求$z = x^2\sin{2y}$的偏导数.
\end{example}
\begin{solution}
易得$\dfrac{\partial{z}}{\partial{x}} = 2x\sin{2y}+x^2(\sin{2y})' = 2x\sin{2y}$,$\dfrac{\partial{z}}{\partial{y}} = 2x^2\cos{2y}$.
\end{solution}
\myspace{1}
\begin{center}
{\LARGE 你小子记得点赞!}
\end{center}
\ifx\allfiles\undefined
\fi
编译
编译环境:TeX Live 2021/2022,编译方式:XeLaTex。
直接按照上述目录结构新建文件、文件夹,然后复制上述代码到文件中,编译即可。
如果使用上述的内容,你需要在flg 文件夹下放一张名为 10-16.png 的图片,或者删除
封面2
封面2 使用了两张图片,你需要自己准备,看代码内容。
在 config.tex 中添加下面的内容
\usetikzlibrary{hobby, calc, intersections, decorations.markings, decorations.pathreplacing}
\tikzset{>=latex}
\definecolor{tyellow}{HTML}{FFD05B}
\definecolor{tyellowlight}{HTML}{FFE39D}
\definecolor{tyellowlighter}{HTML}{FFFBF0}
\definecolor{tyellowdark}{HTML}{D09B18}
\definecolor{tyellowdarker}{HTML}{715000}
\definecolor{tturq}{HTML}{3EAF7F}
\definecolor{tturqlight}{HTML}{86DAB6}
\definecolor{tturqlighter}{HTML}{EEFCF6}
\definecolor{tturqdark}{HTML}{118F59}
\definecolor{tturqdarker}{HTML}{004D2C}
\definecolor{tblue}{HTML}{3E83A1}
\definecolor{tbluelight}{HTML}{86BCD4}
\definecolor{tbluelighter}{HTML}{EEF8FC}
\definecolor{tbluedark}{HTML}{156283}
\definecolor{tbluedarker}{HTML}{033247}
将 cover.tex 中的内容全部替换为如下内容
\begin{tikzpicture}[remember picture,overlay]
\fill[tyellow] (current page.south west) rectangle (current page.north east);
\coordinate (start) at ($(current page.east)!0.5!(current page.north east)+(1,-1)$);
\coordinate (end) at (current page.north west);
\foreach \i in {0,0.01,...,1}
{
\coordinate (point) at ($(start)!\i!(end)$);
\draw[tyellowlight]
($(point)+(310*\i:6)$)--
($(point)+(310*\i+120:6)$)--
($(point)+(310*\i+240:6)$)--
($(point)+(310*\i:6)$);
}
\coordinate (start) at (current page.south west);
\coordinate (end) at (current page.east);
\foreach \i in {0,0.02,...,1}
{
\coordinate (point) at ($(start)!\i!(end)$);
\draw[tyellowlight]
($(point)+(310*\i:10)$)--
($(point)+(310*\i+120:10)$)--
($(point)+(310*\i+240:10)$)--
($(point)+(310*\i:10)$);
}
\node (title)
[shape=rectangle,
fill=tbluedark,
outer sep=2em,
inner sep=2em,
minimum height=12em,
minimum width=\paperwidth,
align=flush right,
text=white,
text width=0.8\paperwidth,
anchor=north
]
at ($(current page.center)!0.6!(current page.north)$) { \fontsize{5em}{4em} 大标题 }; \node (author) [ fill=tblue, inner sep=0.75em, align=flush right, text=white, anchor=east ] at ($(title.north east)-(0.125\paperwidth,0)$) { \fontsize{3em}{2.5em} 小标题 }; \node [ fill=tblue, inner sep=0.75em, align=flush left, text=tblue, anchor=west, xshift=-2mm ] at (author.east) { \fontsize{3em}{2.5em} \phantom{作者名字} }; \node (subtitle) [ text=black, align=flush right, anchor=north east ] at ($(title.south east)+(-0.14\paperwidth,0.5)$) { \fontsize{1.5em}{1em} 第x版本 }; \node (coverinfo)
[text=black]
at ($(current page.center)!0.825!(current page.south)$) { \fontsize{1.5em}{1em} Revised and modernized edition by }; \node
[text=black]
at ($(current page.center)!0.9!(current page.south)$) { \includegraphics[height=3em]{texromancers.pdf}
效果(这个封面使用的两张图片较为特殊是pdf的格式,如需要请联系我)

知乎编辑器太难用了,点个赞吧!
格物致知,慎思明辨。
更新
更新230208
- 修改“证明”,“解”的定理环境,放弃使用 \bm 的过时命令。
- 调整页边距。
- 修改了文章展示截图(不相关)。
- 删除、精简包的命令。
更新230210
调整部分内容。
新的问题:定义中文的 证明 和 解 的环境可能存在部分小的问题,技术水平有限,暂时无法解决,表述如下
\renewcommand{\proofname}{\indent\bf 证明}
\newenvironment{solution}{证明. [\indent\bf 解]}{}
如果你有解决方式,可以联系我!
更新230211
增加了些平平无奇的说明。
更新230228
\newcommand{\myspace}[1]{}
\newcommand{\xrowht}[2][0]{\addstackgap[.5\dimexpr#2\relax]{\vphantom{#1}}}
\newenvironment{ca}[1][1]{\linespread{#1} \begin{cases}}{\end{cases}}
更新230316
重新编辑了一遍,添加了一种定理环境的使用和两种封面的样式,调整删除了部分内容,等等很多。
2023/03/17/00:23 直接复制以上代码内容(主要模板+封面1、2+定理环境1、2),编译通过(有些时候需要编译两次,是正常的),编译具体查看上述编译部分。
更新230327
如果你使用 Visual Studio Code 编译 tex 。
230324,LaTeX Workshop 插件进行了一次版本更新,更新之后每次编译时插件都会检测 \documentclass 命令,如果 tex 文件内容没有 \documentclass 命令,编译将会失败,而且一时间很难查到原因,所以此文章上述模板使用 Visual Studio Code 编译将会失败。
如何解决,上述模板中 \documentclass 命令是写在 config.tex 文件中的,你需要做的是:
将 config.tex 文件中的 注释或删除掉
\documentclass[12pt, a4paper, oneside, UTF8]{ctexbook}
然后在每一个 chap.tex 文件中的 \input{../config/config} 命令的上方,\ifx\allfiles\undefined 命令的下方添加上 ,如下
<em>
</em><em></em>\ifx\allfiles\undefined
\documentclass[12pt, a4paper, oneside, UTF8]{ctexbook} <em>
</em><em></em>\input{../config/config}
\begin{document}
当然你还需要在主文件 main.tex 中同样添加上,如下
\def\allfiles{}
\documentclass[12pt, a4paper,oneside, UTF8]{ctexbook}
\input{config/config}
这样就又可以愉快的用 Visual Studio Code 编写 LaTeX 了。