• 周二. 5 月 13th, 2025

Project: 一个LaTeX的数学笔记模板

  • 主页
  • Project: 一个LaTeX的数学笔记模板

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

基本目录结构

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 了。