feat:latex paper

This commit is contained in:
paopaozhi 2024-09-15 16:03:06 +08:00
parent 9f13c98754
commit e5cf4844e8
11 changed files with 1053 additions and 50 deletions

6
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"recommendations": [
"james-yu.latex-workshop",
"donjayamanne.python-extension-pack"
]
}

78
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,78 @@
{
"latex-workshop.latex.autoBuild.run": "never",
"latex-workshop.showContextMenu": true,
"latex-workshop.intellisense.package.enabled": true,
"latex-workshop.message.error.show": false,
"latex-workshop.message.warning.show": false,
"latex-workshop.latex.outDir": "%DIR%/out",
"latex-workshop.latex.tools": [
{
"name": "xelatex",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"--output-directory=%OUTDIR%",
"main.tex"
]
},
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"-outdir=%OUTDIR%",
"%DOCFILE%"
]
},
{
"name": "bibtex",
"command": "bibtex",
"args": [
"%DOCFILE%"
]
}
],
"latex-workshop.latex.recipes": [
{
"name": "XeLaTeX",
"tools": [
"xelatex"
]
},
{
"name": "PDFLaTeX",
"tools": [
"pdflatex"
]
},
{
"name": "BibTeX",
"tools": [
"bibtex"
]
},
{
"name": "LaTeXmk",
"tools": [
"latexmk"
]
},
{
"name": "xelatex -> bibtex -> xelatex*2",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
},
],
"latex-workshop.latex.autoClean.run": "onFailed",
"latex-workshop.latex.recipe.default": "lastUsed",
"latex-workshop.view.pdf.internal.synctex.keybinding": "double-click"
}

View File

@ -0,0 +1,3 @@
# 2024年高教杯E题解答及论文
## 论文编译

1
paper/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
out/

80
paper/README.md Normal file
View File

@ -0,0 +1,80 @@
## 全国大学生数学建模竞赛 LaTeX 论文模板
cumcmthesis 是为全国大学生数学建模竞赛编写的 `LaTeX` 模板, 旨在让大家专注于
论文的内容写作, 而不用花费过多精力在格式的定制和调整上. 本手册是相应的参考, 其
中提供了一些环境和命令可以让模板的使用更为方便. 同时需要注意, 使用者需要有一
定的 `LaTeX` 的使用经验, 至少要会使用 `ctex` 宏包的一些功能, 比如调节字距或修改字体
大小等等. 例子文件参看 [example.pdf](https://github.com/latexstudio/CUMCMThesis/blob/master/example.pdf).
另外, 本模板制作了视频使用教程, 参看[这里](https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-3473795048.2.ZlPoPL&id=43823508044).
<img src="https://github.com/latexstudio/CUMCMThesis/blob/master/figures/gongzhonghao2.png" alt="" width="350px">
2019年建模模板的免费视频教程
第一部分:
[https://www.bilibili.com/video/av64191560](https://www.bilibili.com/video/av64191560)
第二部分:
[https://www.bilibili.com/video/av64221508](https://www.bilibili.com/video/av64221508)
![](https://github.com/latexstudio/CUMCMThesis/blob/master/example-1.png)
![](https://github.com/latexstudio/CUMCMThesis/blob/master/example-3.png)
![](https://github.com/latexstudio/CUMCMThesis/blob/master/example-4.png)
## 更新记录
2021 年 7 月:
1 更新 uline 与 hspace 的兼容问题。
2020 年 8 月:
1适配官网新格式的封面和编号页。格式在[这里](http://www.mcm.edu.cn/html_cn/node/2ecdb523ea364d8fff6928ada7ebd923.html)
2调整了部分的内容和说明。
2019年9月更新
1适配官网格式[http://mcm.edu.cn/html_cn/node/8e7b0262daa56b8953d1b6ccaada9ed4.html](http://mcm.edu.cn/html_cn/node/8e7b0262daa56b8953d1b6ccaada9ed4.html)。
2增加了更新说明格式的说明视频依然可以使用
2019年8月更新
1更新说明文件和样例。
2增加了免费视频教程和基础知识介绍。
2018年9月14日更新
1修改前面的承诺书内容。
2修改附录链接问题目录格式。
2017年8月14日更新说明
1. 请大家使用较新的 `LaTeX` 发行版本进行编译下载地址http://www.latexstudio.net/page/texsoftware 首页焦点图。不要使用 `CTeX` 套装。
2. 遇到问题可以到91940767群进行交流或478023327群交流
2017年7月28日更新:
1. 适配2016年的格式要求调整了承诺和编号页的内容。
2. 修改了附录的代码输入样式。
如果需要去掉封面并把论文标题保留在摘要上面,在加载类的使用如下语句:
```
\documentclass[withoutpreface,bwprint]{cumcmthesis}
```
如果需要封面页,则是与原来一致:
```
\documentclass[bwprint]{cumcmthesis}
```

667
paper/cumcmthesis.cls Normal file
View File

@ -0,0 +1,667 @@
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{cumcmthesis}
[2017/09/16 v2.6 Standard LaTeX Template for CUMCM]
%%
\newif\if@mcm@bwprint\@mcm@bwprintfalse
\newif\if@mcm@preface\@mcm@prefacetrue
% tokens definition
%%%%
\newcommand\mcm@tokens@keywords{}
\newcommand*\mcm@tokens@tihao{}
\newcommand*\mcm@tokens@baominghao{}
\newcommand*\mcm@tokens@schoolname{}
\newcommand*\mcm@tokens@membera{}
\newcommand*\mcm@tokens@memberb{}
\newcommand*\mcm@tokens@memberc{}
\newcommand*\mcm@tokens@supervisor{}
\newcommand*\mcm@tokens@yearinput{}
\newcommand*\mcm@tokens@monthinput{}
\newcommand*\mcm@tokens@dayinput{}
%%%%
%
%% Declaration of Options
\DeclareOption{colorprint}{\@mcm@bwprintfalse}
\DeclareOption{bwprint}{\@mcm@bwprinttrue}
\DeclareOption{withoutpreface}{\@mcm@prefacefalse}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
%% Executing of Options
\ExecuteOptions{colorprint}
\ProcessOptions\relax
%% Loading Class
\LoadClass[a4paper,12pt]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Loading Package
\RequirePackage{ifxetex}
\RequireXeTeX
\ifxetex\else
\ClassError{mcmthesis}{You must use the `xelatex' driver\MessageBreak Please choose `xelatex'}{%
Just choose `xelatex', no `pdflatex' or `latex' and so on.}
\fi
% ctex
\RequirePackage{ctex}
%
\RequirePackage{geometry}
%
\RequirePackage{amsmath}
\RequirePackage{amsfonts}
\RequirePackage{amssymb}
\RequirePackage{bm}
%\RequirePackage{titletoc}
%
\RequirePackage{xcolor}
%
\RequirePackage{graphicx}
\RequirePackage{float}
%
\RequirePackage{array}
%%
\RequirePackage{longtable}
%% booktabs \toprule .
\RequirePackage{booktabs,tabularx}
%% multirow
\RequirePackage{multirow}
%% ,
\RequirePackage{bigstrut}
%%
\RequirePackage{bigdelim}
%
\RequirePackage{cprotect}
%
\RequirePackage{listings}
\RequirePackage{xcolor}
%
\RequirePackage{url}
%
%\RequirePackage{tikz}
%\usetikzlibrary{snakes}
%
\RequirePackage{subcaption}
\RequirePackage[titles]{tocloft}
%
%\renewcommand{\cftdot}{$\cdot$}
%\renewcommand{\cftsecdotsep}{1.5}
\renewcommand{\cftsecdotsep}{4.5}
\setlength{\cftbeforesecskip}{7pt}
\setlength{\cftbeforesubsecskip}{3pt}
%\setlength{\cftbeforesubsecskip}{5pt}
\renewcommand{\cftsecfont}{\bfseries\zihao{-4}\heiti}
\renewcommand{\cftsecleader}{\cftdotfill{\cftsecdotsep}}
\renewcommand{\cftsecaftersnumb}{\hskip.4em}
%
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\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,
}
%
\RequirePackage{indentfirst}
%
\RequirePackage{caption}
%
\RequirePackage{enumitem}
% 线
\RequirePackage{ulem}
%
\RequirePackage{calc}
\RequirePackage[titletoc,title]{appendix}
%\RequirePackage[title,toc,titletoc]{appendix}
\RequirePackage{etoolbox}
\AtBeginEnvironment{thebibliography}{%
\phantomsection
\addcontentsline{toc}{section}{\refname}
}
% hyperref
\RequirePackage{hyperref}
%
\RequirePackage{cleveref}
%% Document Layout
%
\geometry{top=25mm,bottom=25mm,left=25mm,right=25mm}
\renewcommand*{\baselinestretch}{1.38}
% tabular , .
\let\mcm@oldtabular\tabular
\let\mcm@endoldtabular\endtabular
\renewenvironment{tabular}%
{\bgroup%
\renewcommand{\arraystretch}{1.38}%
\mcm@oldtabular}%
{\mcm@endoldtabular\egroup}
%
\setlength\parindent{2em}
%
\setmainfont{Times New Roman}
%\setmonofont{Courier New}
\setsansfont{Arial}
\setCJKfamilyfont{kai}[AutoFakeBold]{static/font/simkai.ttf}
\newcommand*{\kai}{\CJKfamily{kai}}
\setCJKfamilyfont{song}[AutoFakeBold]{static/font/simsun.ttc}
\newcommand*{\song}{\CJKfamily{song}}
\renewcommand\normalsize{%
\@setfontsize\normalsize{12.05}{14.45}%
\abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@}
% ,
\newtheorem{definition}{\mcm@cap@definition}
\newtheorem{theorem}{\mcm@cap@theorem}
\newtheorem{lemma}{\mcm@cap@lemma}
\newtheorem{corollary}{\mcm@cap@corollary}
\newtheorem{assumption}{\mcm@cap@assumption}
\newtheorem{conjecture}{\mcm@cap@conjecture}
\newtheorem{axiom}{\mcm@cap@axiom}
\newtheorem{principle}{\mcm@cap@principle}
\newtheorem{problem}{\mcm@cap@problem}
\newtheorem{example}{\mcm@cap@example}
\newtheorem{proof}{\mcm@cap@proof}
\newtheorem{solution}{\mcm@cap@solution}
%
% , \LaTeX{} 20%,,
% , 5%.
\renewcommand*{\textfraction}{0.05}
% , \LaTeX{}
% 使
% . |\topfraction| |\bottomfraction|
% .
\renewcommand*{\topfraction}{0.9}
\renewcommand*{\bottomfraction}{0.8}
% \LaTeX{},
% 85% .
% : |\floatpagefraction| |\topfraction|.
\renewcommand*{\floatpagefraction}{0.85}
% graphicx
% ,
\DeclareGraphicsExtensions{.pdf,.eps,.jpg,.png}
% ,
\graphicspath{{figures/}{figure/}{pictures/}%
{picture/}{pic/}{pics/}{image/}{images/}}
%
\DeclareCaptionFont{song}{\songti}
\DeclareCaptionFont{minusfour}{\zihao{-4}}
\captionsetup[figure]{%
format=hang, % , justification=raggedright .
labelsep=quad, %
font={song,minusfour,bf}, % ,
position=bottom % position=bottom, , \caption.
}
\captionsetup[table]{%
format=hang, % , justification=raggedright .
labelsep=quad, %
font={song,minusfour,bf}, % ,
position=top % position=bottom, , \caption.
}
%
\setlist{%
topsep=0.3em, %
partopsep=0pt, %
itemsep=0ex plus 0.1ex, %
parsep=0pt, %
leftmargin=1.5em, %
rightmargin=0em, %
labelsep=0.5em, %
labelwidth=2em % 使
}
%
\hypersetup{%
% xetex,
% unicode=false, % hyperref xetex 使 Unicode .
pdfstartview=FitH,
CJKbookmarks=true,
bookmarksnumbered=true,
bookmarksopen=true,
colorlinks, %(colorlinkspdfborder)
pdfborder=001, %
allcolors=black,
breaklinks=true}%
% \if@mcm@bwprint
% \AtBeginDocument{\hypersetup{hidelinks}}
% \else\relax\fi
\pdfstringdefDisableCommands{%
\def\cftdotfill{ }%
}
\lstnewenvironment{tcode}
{
\lstset{basicstyle = \small\ttfamily,
language=TeX,
tabsize = 4,
frame = single,
escapechar = `,
breaklines = true,
breakatwhitespace = true,
frameround = tttt,
}
}
{}
%%% crefformat settings
\crefformat{figure}{#2~#1#3}
\crefrangeformat{figure}{~(#3#1#4)\;\~{}\;(#5#2#6)}
\crefmultiformat{figure}{~(#2#1#3)}{~(#2#1#3)}{(#2#1#3)}{~(#2#1#3)}
\crefformat{table}{#2#1#3}
\crefrangeformat{table}{(#3#1#4)\;\~{}\;(#5#2#6)}
\crefmultiformat{table}{~(#2#1#3)}{~(#2#1#3)}{(#2#1#3)}{~(#2#1#3)}
\crefformat{equation}{#2~(#1#3)}
\crefrangeformat{equation}{~(#3#1#4)\;\~{}\;(#5#2#6)}
\crefmultiformat{equation}{~(#2#1#3)}{ ~(#2#1#3)}{(#2#1#3)}{ ~(#2#1#3)}
\crefformat{definition}{#2\mcm@cap@definition~#1#3}
\crefrangeformat{definition}{\mcm@cap@definition~(#3#1#4)\;\~{}\;(#5#2#6)}
\crefmultiformat{definition}{\mcm@cap@definition~(#2#1#3)}{ ~(#2#1#3)}{(#2#1#3)}{ ~(#2#1#3)}
\crefformat{theorem}{#2\mcm@cap@theorem~#1#3}
\crefrangeformat{theorem}{\mcm@cap@theorem~(#3#1#4)\;\~{}\;(#5#2#6)}
\crefmultiformat{theorem}{\mcm@cap@theorem~(#2#1#3)}{ ~(#2#1#3)}{(#2#1#3)}{ ~(#2#1#3)}
\crefformat{lemma}{#2\mcm@cap@lemma~#1#3}
\crefrangeformat{lemma}{\mcm@cap@lemma~(#3#1#4)\;\~{}\;(#5#2#6)}
\crefmultiformat{lemma}{\mcm@cap@lemma~(#2#1#3)}{ ~(#2#1#3)}{(#2#1#3)}{ ~(#2#1#3)}
\crefformat{corollary}{#2\mcm@cap@corollary~#1#3}
\crefrangeformat{corollary}{\mcm@cap@corollary~(#3#1#4)\;\~{}\;(#5#2#6)}
\crefmultiformat{corollary}{\mcm@cap@corollary~(#2#1#3)}{ ~(#2#1#3)}{(#2#1#3)}{ ~(#2#1#3)}
\crefformat{assumption}{#2\mcm@cap@assumption~#1#3}
\crefrangeformat{assumption}{\mcm@cap@assumption~(#3#1#4)\;\~{}\;(#5#2#6)}
\crefmultiformat{assumption}{\mcm@cap@assumption~(#2#1#3)}{ ~(#2#1#3)}{(#2#1#3)}{ ~(#2#1#3)}
\crefformat{conjecture}{#2\mcm@cap@conjecture~#1#3}
\crefrangeformat{conjecture}{\mcm@cap@conjecture~(#3#1#4)\;\~{}\;(#5#2#6)}
\crefmultiformat{conjecture}{\mcm@cap@conjecture~(#2#1#3)}{ ~(#2#1#3)}{(#2#1#3)}{ ~(#2#1#3)}
\crefformat{axiom}{#2\mcm@cap@axiom~#1#3}
\crefrangeformat{axiom}{\mcm@cap@axiom~(#3#1#4)\;\~{}\;(#5#2#6)}
\crefmultiformat{axiom}{\mcm@cap@axiom~(#2#1#3)}{ ~(#2#1#3)}{(#2#1#3)}{ ~(#2#1#3)}
\crefformat{principle}{#2\mcm@cap@principle~#1#3}
\crefrangeformat{principle}{\mcm@cap@principle~(#3#1#4)\;\~{}\;(#5#2#6)}
\crefmultiformat{principle}{\mcm@cap@principle~(#2#1#3)}{ ~(#2#1#3)}{(#2#1#3)}{ ~(#2#1#3)}
\crefformat{problem}{#2\mcm@cap@problem~#1#3}
\crefrangeformat{problem}{\mcm@cap@problem~(#3#1#4)\;\~{}\;(#5#2#6)}
\crefmultiformat{problem}{\mcm@cap@problem~(#2#1#3)}{ ~(#2#1#3)}{(#2#1#3)}{ ~(#2#1#3)}
\crefformat{example}{#2\mcm@cap@example~#1#3}
\crefrangeformat{example}{\mcm@cap@example~(#3#1#4)\;\~{}\;(#5#2#6)}
\crefmultiformat{example}{\mcm@cap@example~(#2#1#3)}{ ~(#2#1#3)}{(#2#1#3)}{ ~(#2#1#3)}
\crefformat{proof}{#2\mcm@cap@proof~#1#3}
\crefrangeformat{proof}{\mcm@cap@proof~(#3#1#4)\;\~{}\;(#5#2#6)}
\crefmultiformat{proof}{\mcm@cap@proof~(#2#1#3)}{ ~(#2#1#3)}{(#2#1#3)}{ ~(#2#1#3)}
\crefformat{solution}{#2\mcm@cap@solution~#1#3}
\crefrangeformat{solution}{\mcm@cap@solution~(#3#1#4)\;\~{}\;(#5#2#6)}
\crefmultiformat{solution}{\mcm@cap@solution~(#2#1#3)}{ ~(#2#1#3)}{(#2#1#3)}{ ~(#2#1#3)}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Document Markup
% , 使\maketitle
\renewcommand{\maketitle}{\par
\begingroup
\newpage
\global\@topnum\z@ % Prevents figures from going at top of page.
\@maketitle
\endgroup
\global\let\thanks\relax
\global\let\maketitle\relax
\global\let\@maketitle\relax
\global\let\@thanks\@empty
\global\let\@author\@empty
\global\let\@date\@empty
\global\let\@title\@empty
\global\let\title\relax
\global\let\author\relax
\global\let\date\relax
\global\let\and\relax
}
\def\@maketitle{%
\newpage
\if@mcm@preface
\null
%
\vskip2ex
\thispagestyle{empty}
{\zihao{4}\noindent\mcm@commit@string@headname\\[-8pt]
\noindent\rule[5pt]{\textwidth-1.34em}{.5pt}\par}
\begin{center}%
{\zihao{-3}\bfseries\heiti \mcm@commit@string@titlea \par}%
{\vskip1ex\zihao{3}\bfseries\songti \mcm@commit@string@titleb \par}
\end{center}
{\zihao{-4} \mcm@commit@string@contents \par}
{\vskip1ex\zihao{-4}
\renewcommand{\ULthickness}{0.4pt}\setlength{\ULdepth}{2pt}
\hspace*{2em}\mcm@commit@string@problemnum\uline{\mbox{\kern1em}\mcm@tokens@tihao\hfill}\makebox[0.66em]{}\par
\mcm@commit@string@signupnum\uline{\mbox{\kern1em}\mcm@tokens@baominghao\hfill}\makebox[0.66em]{}\par
\mcm@commit@string@schoolname\uline{\hfill\mcm@tokens@schoolname\hfill}\makebox[0.66em]{}\par
\newlength{\mcm@lenB}
\settowidth{\mcm@lenB}{\mcm@commit@string@membername\mbox{\hspace{1em}}1.}
\setlength{\mcm@lenB}{\textwidth-\mcm@lenB}
% !
\mcm@commit@string@membername
\begin{minipage}[t]{\mcm@lenB}
1.\uline{\mbox{\kern1em}\mcm@tokens@membera\hfill} \makebox[0.46em]{}\par
2.\uline{\mbox{\kern1em}\mcm@tokens@memberb\hfill} \makebox[0.46em]{}\par
3.\uline{\mbox{\kern1em}\mcm@tokens@memberc\hfill} \makebox[0.46em]{}\par
\end{minipage}\par\vskip1ex
\mcm@commit@string@supervisorname\uline{\mbox{\hspace{1em}}\mcm@tokens@supervisor\hfill}\makebox[0.66em]{}\par
\hspace{0.1cm} {\kaishu }
%{\kaishu\mcm@commit@string@inform\par}
\vskip2ex
\newlength{\mcm@lenA}
\settowidth{\mcm@lenA}{}% "日期""错误", "日期", "填写""
\hspace*{\mcm@lenA}\mcm@commit@string@date\hspace{0.5em}\uline{\hfill\mbox{\kern1em}\mcm@tokens@yearinput\mbox{\kern1em}\hfill}%
\mcm@commit@string@year\uline{\hfill\mcm@tokens@monthinput\hfill}\mcm@commit@string@month%
\uline{\hfill\mcm@tokens@dayinput\hfill}\mcm@commit@string@day\makebox[1em]{}\par}
\vskip1ex
{\kaishu\bfseries\mcm@commit@string@inform\par}
\vfill
\null
%
\else
\fi
\makeothertitle
}
%%
\def\makeothertitle{%
\if@mcm@preface
\par
\newpage
\null
\thispagestyle{empty}
{\zihao{4}\noindent\begin{tabularx}{\textwidth}{cXcX@{}}
\mcm@numberpage@string@headname & & \mcm@numberpage@string@allcountrynum & \\[-5pt]
\mcm@numberpage@string@headnameb & & \mcm@numberpage@string@allcountrynumb & \\
\cline{2-2}\cline{4-4}
\end{tabularx}
\vspace*{1.2em}
\noindent\rule{\textwidth}{1pt}\par}
\begin{center}
{\zihao{4}\bfseries\heiti \mcm@numberpage@string@titlea\par}
{\vskip1ex\zihao{3}\songti \bfseries\mcm@numberpage@string@titleb\par}
\end{center}\par
{%
\zihao{4}
\vskip3em
\hspace*{2em}\mcm@numberpage@string@appraiselog
\par
\newlength{\mcm@lenC}
\setlength{\mcm@lenC}{\textwidth-8.72em}
\setlength{\mcm@lenC}{\mcm@lenC/6}
\newlength{\mcm@lenD}
\settoheight{\mcm@lenD}{\mcm@numberpage@string@reviewer}
\setlength{\mcm@lenD}{\mcm@lenD+2em}
\newlength{\mcm@lenF}
\settoheight{\mcm@lenF}{\mcm@numberpage@string@remarks}
\setlength{\mcm@lenF}{\mcm@lenF+2em}
\newcolumntype{P}{@{}p{\mcm@lenC}@{}}
\hspace*{1.5em}\begin{tabular}{|!{\hspace{4pt}}c!{\hspace{4pt}}|*{6}{P|}}
\hline
\rule{0pt}{\mcm@lenD}\raisebox{0.6em}[0pt][0pt]{\mcm@numberpage@string@reviewer} & & & & & & \\\cline{1-7}
\rule{0pt}{\mcm@lenF}\raisebox{0.6em}[0pt][0pt]{\mcm@numberpage@string@remarks} & & & & & & \\
\hline
\end{tabular}\par
\vskip5em
\hspace*{2em}\mcm@numberpage@string@countrynum}
\vfill
{\zihao{-4}\kaishu\bfseries\mcm@numberpage@string@inform\par}
\null
\newpage
\null
\setcounter{page}{1}
{\centering \zihao{3}\bfseries \@title\par}
\vskip1ex
\else
\setcounter{page}{1}
{\centering \zihao{3}\bfseries \@title\par}
\vskip1ex
\fi
}
%
\renewcommand\contentsname{\mcm@cap@contentsname}
\renewcommand\listfigurename{\mcm@cap@listfigurename}
\renewcommand\listtablename{\mcm@cap@listtablename}
\renewcommand\refname{\mcm@cap@refname}
\renewcommand\indexname{\mcm@cap@indexname}
\renewcommand\figurename{\mcm@cap@figurename}
\renewcommand\tablename{\mcm@cap@tablename}
\renewcommand\appendixname{\mcm@cap@appendixname}
\renewcommand\abstractname{\mcm@cap@abstractname}
%
%
\setcounter{secnumdepth}{3}
% , , 使\chinese
\def\@seccntformat#1{\csname the#1\endcsname\ }
\renewcommand\thesection{\chinese{section}}
\renewcommand\thesubsection{\arabic{section}\thinspace.\thinspace\arabic{subsection}}
\renewcommand\thesubsubsection{\thesubsection\thinspace.\thinspace\arabic{subsubsection}}
\renewcommand\section{\@startsection{section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\centering\normalfont\Large\bfseries}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\normalfont\large\bfseries}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\normalfont\normalsize\bfseries}}
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
{3.25ex \@plus1ex \@minus.2ex}%
{-1em}%
{\normalfont\normalsize\bfseries}}
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
{3.25ex \@plus1ex \@minus .2ex}%
{-1em}%
{\normalfont\normalsize\bfseries}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Define new environment and command
%% 4 .
%%
\renewenvironment{abstract}{%
\if@twocolumn
\section*{\abstractname}%
\else
\begin{center}%
{\zihao{4}\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%
\end{center}%
\quotation
\fi}
{\if@twocolumn\else\endquotation\newpage\null\fi}
\renewenvironment{quotation}
{\list{}{\listparindent 2em%
\itemindent \listparindent
\rightmargin\z@
\leftmargin\z@
\parsep \z@ \@plus\p@}%
\item\relax}
{\endlist}
\newcommand\keywords[1]{%
\renewcommand{\mcm@tokens@keywords}{#1}
\par
\vskip1ex
{\noindent\zihao{-4}\heiti\mcm@cap@keywordsname}~{\mcm@tokens@keywords}
}
%
% \renewcommand{\setthesection}{\appendixname\Alph{section}}
% \renewcommand\appendix{\par
% \setcounter{section}{0}%
% \setcounter{subsection}{0}%
% \gdef\thesection{\appendixname\@Alph\c@section}}
%
\renewenvironment{thebibliography}[1]
{\section*{\refname}%
\@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
\list{\@biblabel{\@arabic\c@enumiv}}%
{\settowidth\labelwidth{\@biblabel{#1}}%
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\@openbib@code
\usecounter{enumiv}%
\let\p@enumiv\@empty
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy
\clubpenalty4000
\@clubpenalty \clubpenalty
\widowpenalty4000%
\sfcode`\.\@m}
{\def\@noitemerr
{\@latex@warning{Empty `thebibliography' environment}}%
\endlist}
\newcommand*\tihao[1]{%
\renewcommand{\mcm@tokens@tihao}{#1}}
\newcommand*\baominghao[1]{%
\renewcommand{\mcm@tokens@baominghao}{#1}}
\newcommand*\schoolname[1]{%
\renewcommand{\mcm@tokens@schoolname}{#1}}
\newcommand*\membera[1]{%
\renewcommand{\mcm@tokens@membera}{#1}}
\newcommand*\memberb[1]{%
\renewcommand{\mcm@tokens@memberb}{#1}}
\newcommand*\memberc[1]{%
\renewcommand{\mcm@tokens@memberc}{#1}}
\newcommand*\supervisor[1]{%
\renewcommand{\mcm@tokens@supervisor}{#1}}
\newcommand*\yearinput[1]{%
\renewcommand{\mcm@tokens@yearinput}{#1}}
\newcommand*\monthinput[1]{%
\renewcommand{\mcm@tokens@monthinput}{#1}}
\newcommand*\dayinput[1]{%
\renewcommand{\mcm@tokens@dayinput}{#1}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Initialization
%%%
\newcommand*{\mcm@cap@definition}{}
\newcommand*{\mcm@cap@theorem}{}
\newcommand*{\mcm@cap@lemma}{}
\newcommand*{\mcm@cap@corollary}{}
\newcommand*{\mcm@cap@assumption}{}
\newcommand*{\mcm@cap@conjecture}{}
\newcommand*{\mcm@cap@axiom}{}
\newcommand*{\mcm@cap@principle}{}
\newcommand*{\mcm@cap@problem}{}
\newcommand*{\mcm@cap@example}{}
\newcommand*{\mcm@cap@proof}{}
\newcommand*{\mcm@cap@solution}{}
%%%
\newcommand*{\mcm@cap@contentsname}{}
\newcommand*{\mcm@cap@listfigurename}{}
\newcommand*{\mcm@cap@listtablename}{}
\newcommand*{\mcm@cap@refname}{}
\newcommand*{\mcm@cap@indexname}{}
\newcommand*{\mcm@cap@figurename}{}
\newcommand*{\mcm@cap@tablename}{}
\newcommand*{\mcm@cap@appendixname}{}
\newcommand*{\mcm@cap@abstractname}{}
%%%
\newcommand*{\mcm@cap@keywordsname}{}
%%%
\newcommand*\mcm@commit@string@headname{}
\newcommand*\mcm@commit@string@titlea{\the\year }
\newcommand*\mcm@commit@string@titleb{\hspace{1em}\hspace{1em}}
\newcommand\mcm@commit@string@contents{\quotation
http://www.mcm.edu.cn下载
QQ
使
{\bfseries\song }
\endquotation
}
\newcommand*\mcm@commit@string@problemnum{A/B/C/D/E}
\newcommand*\mcm@commit@string@signupnum{12}
\newcommand*\mcm@commit@string@schoolname{}
\newcommand*\mcm@commit@string@membername{ () }
\newcommand*\mcm@commit@string@supervisorname{ ()}
\newcommand\mcm@commit@string@inform{\quotation
\noindent{\bfseries\kai %
}
\endquotation
}
\newcommand*\mcm@commit@string@date{:}
\newcommand*\mcm@commit@string@year{}
\newcommand*\mcm@commit@string@month{}
\newcommand*\mcm@commit@string@day{}
\newcommand*\mcm@commit@string@appraisenum{}
%%%
\newcommand*\mcm@numberpage@string@headname{}
\newcommand*\mcm@numberpage@string@headnameb{}
\newcommand*\mcm@numberpage@string@allcountrynum{}
\newcommand*\mcm@numberpage@string@allcountrynumb{}
\newcommand*\mcm@numberpage@string@titlea{\the\year }
\newcommand*\mcm@numberpage@string@titleb{\hspace{.5em}\hspace{.5em}\hspace{.5em}\hspace{.5em}}
\newcommand*\mcm@numberpage@string@appraiselog{使}
\newcommand\mcm@numberpage@string@reviewer{\shortstack{\\ \\ }}
\newcommand\mcm@numberpage@string@remarks{\shortstack{\\ }}
\newcommand*\mcm@numberpage@string@countrynum{:\par \hspace*{2em}}
\newcommand\mcm@numberpage@string@inform{\quotation
\noindent{\bfseries\kai 使
}
\endquotation
}
%
%
% \titlecontents{section}[0pt]{\vspace{2mm}\bfseries}
% {\thecontentslabel\hskip.5em}{}{\titlerule*[0.5pc]{.}\contentspage}
% %
% \titlecontents{subsection}[30pt]{\songti}
% {\thecontentslabel\hskip.5em}{}{\titlerule*[0.5pc]{.}\contentspage}
% \titlecontents{subsubsection}[55pt]{\songti}
% {\thecontentslabel\hskip.5em}{}{\titlerule*[0.5pc]{.}\contentspage}
%
\newcommand{\upcite}[1]{$^{\mbox{\scriptsize \cite{#1}}}$}
\newcommand{\supercite}[1]{\textsuperscript{\textsuperscript{\cite{#1}}}}
\endinput

200
paper/main.tex Normal file
View File

@ -0,0 +1,200 @@
\documentclass{cumcmthesis}
\usepackage[framemethod=TikZ]{mdframed}
\usepackage{url} % 网页链接
\usepackage{subcaption} % 子标题
\title{基于聚类算法的车流量管理}
\tihao{A}
\baominghao{4321}
\schoolname{XX大学}
\membera{ }
\memberb{ }
\memberc{ }
\supervisor{ }
\yearinput{2024}
\monthinput{09}
\dayinput{12}
\begin{document}
% 摘要
\begin{abstract}
摘要。。
\keywords{\TeX{}\quad 图片\quad 表格\quad 公式}
\end{abstract}
% 问题重述
\section{问题重述}
通过研究纬中路和经中路的车流量,研究提升道路利用率,升级道路设施的计划。通过研究问题需要解决以下问题:
\begin{itemize}
\item 通过经中路-纬中路交叉口不同相位的车流量分析时段与车流量的关系。
\item 通过优化主干道的信号灯,并且保证车辆正常通过,使得车流量平均速度最大。
\item 通过车流量得出巡游车辆,得出节假日时需要征用的停车位,用于保证主干道的车流量的平均速度。
\item windows 下可以使用 \TeX{}Live 或者 Mik\TeX{} ;
\end{itemize}
% 问题分析
\section{问题分析}
\subsection{问题一分析}
通过十字路口中,车流量分析时间与道路流量得关系
% 模型假设与符号说明
\section{模型假设与符号说明}
表格应具有三线表格式,因此常用 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{tcode}
\begin{table}[!htbp]
\caption[标签名]{中文标题}
\begin{tabular}{cc...c}
\toprule[1.5pt]
表头第1个格 & 表头第2个格 & ... & 表头第n个格 \\
\midrule[1pt]
表中数据(1,1) & 表中数据(1,2) & ... & 表中数据(1,n) \\
表中数据(2,1) & 表中数据(2,2) & ... & 表中数据(2,n) \\
................................................... \\
表中数据(m,1) & 表中数据(m,2) & ... & 表中数据(m,n) \\
\bottomrule[1.5pt]
\end{tabular}
\end{table}
\end{tcode}
\bigskip
table环境是一个将表格嵌入文本的浮动环境。tabular环境的必选参数由每列对应一个格式字符所组成c表示居中l表示左对齐r表示右对齐其总个数应与表的列数相同。此外\verb|@{文本}|可以出现在任意两个上述的列格式之间,其中的文本将被插入每一行的同一位置。表格的各行以\verb|\\|分隔,同一行的各列则以\&分隔。 \verb|\toprule| 、\verb|\midrule| 和 \verb|\bottomrule| 三个命令是由booktabs宏包提供的其中 \verb|\toprule| 和 \verb|\bottomrule| 分别用来绘制表格的第一条(表格最顶部)和第三条(表格最底部)水平线, \verb|\midrule| 用来绘制第二条(表头之下)水平线,且第一条和第三条水平线的线宽为 1.5pt ,第二条水平线的线宽为 1pt 。引用方法与图片的相同。
% 模型得建立与求解
\section{模型得建立与求解}
% 模型结果
\section{模型结果}
% 模型评价
\section{模型评价与改进}
参考文献对于一篇正式的论文来说是必不可少的,在建模中重要的参考文献当然应该列出。\LaTeX{}在这方面的功能也是十分强大的,下面进介绍一个比较简单的参考文献制作方法。有兴趣的可以学习 \verb|bibtex| 或 \verb|biblatex| 的使用。
\LaTeX{}的入门书籍可以看《\LaTeX{}入门》\cite{liuhaiyang2013latex}。这是一个简单的引用,用 \verb|\cite{bibkey}| 来完成。要引用成功,当然要维护好 bibitem 了。下面是个简单的例子。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%参考文献
\begin{thebibliography}{9}%宽度9
\bibitem[1]{liuhaiyang2013latex}
刘海洋.
\newblock \LaTeX {}入门\allowbreak[J].
\newblock 电子工业出版社, 北京, 2013.
\bibitem[2]{mathematical-modeling}
全国大学生数学建模竞赛论文格式规范 (2020 年 8 月 25 日修改).
\bibitem{3} \url{https://www.latexstudio.net}
\end{thebibliography}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
%附录
\begin{appendices}
\section{模板所用的宏包}
\begin{table}[htbp]
\centering
\caption{宏包罗列}
\begin{tabular}{ccccc}
\toprule
\multicolumn{5}{c}{模板中已经加载的宏包} \\
\midrule
amsbsy & amsfonts & {amsgen} & {amsmath} & {amsopn} \\
amssymb & amstext & {appendix} & {array} & {atbegshi} \\
atveryend & auxhook & {bigdelim} & {bigintcalc} & {bigstrut} \\
bitset & bm & {booktabs} & {calc} & {caption} \\
caption3 & CJKfntef & {cprotect} & {ctex} & {ctexhook} \\
ctexpatch & enumitem & {etexcmds} & {etoolbox} & {everysel} \\
expl3 & fix-cm & {fontenc} & {fontspec} & {fontspec-xetex} \\
geometry & gettitlestring & {graphics} & {graphicx} & {hobsub} \\
hobsub-generic & hobsub-hyperref & {hopatch} & {hxetex} & {hycolor} \\
hyperref & ifluatex & {ifpdf} & {ifthen} & {ifvtex} \\
ifxetex & indentfirst & {infwarerr} & {intcalc} & {keyval} \\
kvdefinekeys & kvoptions & {kvsetkeys} & {l3keys2e} & {letltxmacro} \\
listings & longtable & {lstmisc} & {ltcaption} & {ltxcmds} \\
multirow & nameref & {pdfescape} & {pdftexcmds} & {refcount} \\
rerunfilecheck & stringenc & {suffix} & {titletoc} & {tocloft} \\
trig & ulem & {uniquecounter} & {url} & {xcolor} \\
xcolor-patch & xeCJK & {xeCJKfntef} & {xeCJK-listings} & {xparse} \\
xtemplate & zhnumber & & & \\
\bottomrule
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
以上宏包都已经加载过了,不要重复加载它们。
\section{排队算法--matlab 源程序}
\begin{lstlisting}[language=matlab]
kk=2;[mdd,ndd]=size(dd);
while ~isempty(V)
[tmpd,j]=min(W(i,V));tmpj=V(j);
for k=2:ndd
[tmp1,jj]=min(dd(1,k)+W(dd(2,k),V));
tmp2=V(jj);tt(k-1,:)=[tmp1,tmp2,jj];
end
tmp=[tmpd,tmpj,j;tt];[tmp3,tmp4]=min(tmp(:,1));
if tmp3==tmpd, ss(1:2,kk)=[i;tmp(tmp4,2)];
else,tmp5=find(ss(:,tmp4)~=0);tmp6=length(tmp5);
if dd(2,tmp4)==ss(tmp6,tmp4)
ss(1:tmp6+1,kk)=[ss(tmp5,tmp4);tmp(tmp4,2)];
else, ss(1:3,kk)=[i;dd(2,tmp4);tmp(tmp4,2)];
end;end
dd=[dd,[tmp3;tmp(tmp4,2)]];V(tmp(tmp4,3))=[];
[mdd,ndd]=size(dd);kk=kk+1;
end; S=ss; D=dd(1,:);
\end{lstlisting}
\section{规划解决程序--lingo源代码}
\begin{lstlisting}[language=c]
kk=2;
[mdd,ndd]=size(dd);
while ~isempty(V)
[tmpd,j]=min(W(i,V));tmpj=V(j);
for k=2:ndd
[tmp1,jj]=min(dd(1,k)+W(dd(2,k),V));
tmp2=V(jj);tt(k-1,:)=[tmp1,tmp2,jj];
end
tmp=[tmpd,tmpj,j;tt];[tmp3,tmp4]=min(tmp(:,1));
if tmp3==tmpd, ss(1:2,kk)=[i;tmp(tmp4,2)];
else,tmp5=find(ss(:,tmp4)~=0);tmp6=length(tmp5);
if dd(2,tmp4)==ss(tmp6,tmp4)
ss(1:tmp6+1,kk)=[ss(tmp5,tmp4);tmp(tmp4,2)];
else, ss(1:3,kk)=[i;dd(2,tmp4);tmp(tmp4,2)];
end;
end
dd=[dd,[tmp3;tmp(tmp4,2)]];V(tmp(tmp4,3))=[];
[mdd,ndd]=size(dd);
kk=kk+1;
end;
S=ss;
D=dd(1,:);
\end{lstlisting}
\end{appendices}
\end{document}

18
paper/src/main.md Normal file
View File

@ -0,0 +1,18 @@
# 基于聚类的车流量数据传输
## 摘要
> 关键字聚类KNN
## 问题重述
通过研究纬中路和经中路的车流量,研究提升道路利用率,升级道路设施的计划。通过研究问题需要解决以下问题:
- 通过经中路-纬中路交叉口不同相位的车流量分析时段与车流量的关系。
- 通过优化主干道的信号灯,并且保证车辆正常通过,使得车流量平均速度最大。
- 通过车流量得出巡游车辆,得出节假日时需要征用的停车位,用于保证主干道的车流量的平均速度。
- 分析在五一黄金周实现的交通管制是否合理,有没有提高
## 问题分析
可以发现车流量与时段可能会与

Binary file not shown.

Binary file not shown.

View File

@ -1,50 +0,0 @@
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": [
"# This is a sample Jupyter Notebook\n",
"\n",
"Below is an example of a code cell. \n",
"Put your cursor into the cell and press Shift+Enter to execute it and select the next one, or click !here goes the icon of the corresponding button in the gutter! button.\n",
"To debug a cell, press Alt+Shift+Enter, or click !here goes the icon of the corresponding button in the gutter! button.\n",
"\n",
"Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.\n",
"\n",
"To learn more about Jupyter Notebooks in PyCharm, see [help](https://www.jetbrains.com/help/pycharm/jupyter-notebook-support.html).\n",
"For an overview of PyCharm, go to Help -> Learn IDE features or refer to [our documentation](https://www.jetbrains.com/help/pycharm/getting-started.html)."
],
"id": "8a77807f92f26ee"
},
{
"metadata": {},
"cell_type": "code",
"outputs": [],
"execution_count": null,
"source": "",
"id": "fbc121e30a2defb3"
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}