This repository has been archived by the owner on May 17, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
easymcm.sty
228 lines (204 loc) · 9.63 KB
/
easymcm.sty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% A simple MCM Contest Report Template for basic users
%% Oringinal template by latexstudio, <latexstudio@hotmail.com>
%% improved by youjiarui189 (xjtu-blacksmith), <yjr134@163.com>
%% 注释全部汉化(且添加了大量注释),并将格式改进为符合当前美赛规范的版本
%% 博客地址:http://www.cnblogs.com/xjtu-blacksmith/
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{easymcm}[2018/10/02 EasyMCM v5.01]
\typeout{EasyMCM Package, version v5.01} %youjiarui189, adding a 'y'
%=========基本宏包==========
\RequirePackage[a4paper,left=2.5cm,right=2.5cm,top=2.5cm,bottom=1.5cm]{geometry} %页边距和纸张大小
\RequirePackage{xcolor} % 彩色宏包
\RequirePackage{fancyhdr,fancybox} % 设置页眉页脚的宏包
\RequirePackage{graphicx} % 插图宏包
\RequirePackage{ifthen} % 逻辑结构宏包(仅模板文件用到)
\RequirePackage{lastpage} % 获得最后一面页码的宏包(生成"Page X of XX")
\RequirePackage{paralist} % 用以修改itemize各项间距的宏包
% 以下宏包在原模板中有,但鉴于现在美赛论文不得有附录和程序,因而我注释掉了,需要用请自己修改
% \RequirePackage{listings} % 代码环境宏包
% \RequirePackage[toc,page,title,titletoc,header]{appendix} % 附录制作宏包
%===设置图表标题与上下文间距===
\setlength{\belowcaptionskip}{4pt}
\setlength{\abovecaptionskip}{4pt}
%==========数学公式===========
\RequirePackage{amsthm,amsfonts} % 定理和字体
\RequirePackage{amsmath,bm}
\RequirePackage{amssymb,mathrsfs} % AMSLaTeX符号宏包
\RequirePackage{latexsym}
%===========目录==============
\usepackage{titlesec}
\usepackage{titletoc}
\setcounter{tocdepth}{3} % 目录显示到subsubsection(3)级别,若只需到subsection(2)请自改
\usepackage[font=small,]{caption} % 使图表标题字号小一号
\def\abstractname{Summary} % 摘要标题
%=========表格相关===========
\RequirePackage{longtable,multirow,hhline,tabularx,array} % 各种基本的表格宏包
\RequirePackage{flafter} % 引用该宏包可避免图片在引用它的正文之前出现
\RequirePackage{pifont,calc} % 前者实现了\ding{}命令(可自己百度),后者是底层常用宏包
\RequirePackage{colortbl,booktabs} % 书签生成
%======字体相关========
\RequirePackage[T1]{fontenc} % 允许使用欧洲字体(西里尔字母,拉丁字母,希腊字母等)
\RequirePackage[scaled]{berasans} % 一个无衬线字体(在summary sheet顶部有用)
\definecolor{grey}{rgb}{0.91,0.91,0.91} % 定义灰色
\RequirePackage{url} % 网址宏包,以下命令使得网址能自动换行
\def\UrlBreaks{\do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J
\do\K\do\L\do\M\do\N\do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V
\do\W\do\X\do\Y\do\Z\do\[\do\\\do\]\do\^\do\_\do\`\do\a\do\b
\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j\do\k\do\l\do\m\do\n
\do\o\do\p\do\q\do\r\do\s\do\t\do\u\do\v\do\w\do\x\do\y\do\z
\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\;\do\>\do\]\do\)\do\,
\do\?\do\'\do+\do\=\do\#}
%======基本参数========
\setlength{\headheight}{15pt}
\newcommand{\MCM@control}{2012} % 2012只是一个初值,其值由用户给定
\DeclareOption*{\edef\MCM@control{\CurrentOption}}
% 生成一些所需的参数(控制号,队伍名,页眉信息)
\ProcessOptions
\newcommand{\control}{\MCM@control}
\newcommand{\team}{Team \#\ \MCM@control}
\newcommand{\contest}{Mathematical Contest in Modeling (MCM) Summary Sheet}
\newcommand{\notes}{(Attach a copy of this page to each copy of your solution paper.)}
%==============书签,插图和交叉引用的设置================
\RequirePackage{ifpdf} % 判断是否在运行pdfLaTeX
\ifpdf%
\RequirePackage{epstopdf} % pdfLaTeX不能使用eps图片,用该宏包转成pdf后使用
\DeclareGraphicsExtensions{.pdf,.jpg,.jpeg,.png} % 允许的图片类型
\RequirePackage[bookmarks=true,%
linkcolor=black,%
citecolor=black,%
colorlinks=true, % 注释掉此项则交叉引用为彩色边框(将colorlinks和pdfborder同时注释掉)
%pdfborder=1, % 注释掉此项则交叉引用为彩色边框(提示:不好看)
linkcolor=black,%
citecolor=black,%
urlcolor=black]{hyperref}
\else%
\DeclareGraphicsExtensions{.eps,.ps} %不需要转换eps图片格式
\ifxetex
\RequirePackage[xetex, % 运行xetex
pdfstartview=FitH,%
CJKbookmarks=true,%
bookmarksnumbered=true,%
bookmarksopen=true,%
colorlinks=true, % 注释掉此项则交叉引用为彩色边框(将colorlinks和pdfborder同时注释掉)
pdfborder=001, % 注释掉此项则交叉引用为彩色边框
linkcolor=black,%
citecolor=black,%
urlcolor=black]{hyperref}
\else
\RequirePackage[dvipdfm, % 运行其他编译引擎
pdfstartview=FitH,%
CJKbookmarks=true,%
bookmarksnumbered=true,%
bookmarksopen=true,%
colorlinks=true, % 注释掉此项则交叉引用为彩色边框(将colorlinks和pdfborder同时注释掉)
pdfborder=001, % 注释掉此项则交叉引用为彩色边框
linkcolor=black,%
citecolor=black,%
urlcolor=black]{hyperref}
\fi\fi
%===使整篇文章的首段都有缩进===
\let\@afterindentfalse\@afterindenttrue\@afterindenttrue
%=========目录的制作==========
\renewcommand\tableofcontents{%
\centerline{\normalfont\Large\bfseries\contentsname%
\@mkboth{%
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
\vskip 3ex%
\@starttoc{toc}%
}
% 以下设置使得一页上最多有六个浮动对象(图、表),且顶部最多三个,底部最多三个。可自行修改参数
\setcounter{totalnumber}{6}
\setcounter{topnumber}{3}
\setcounter{bottomnumber}{3}
% 很多人发现缺省的浮动参数过于严格了。下面的命令
\renewcommand{\textfraction}{0.15}
\renewcommand{\topfraction}{0.85}
\renewcommand{\bottomfraction}{0.65}
\renewcommand{\floatpagefraction}{0.60}
% 将浮动参数重新设置为更宽松的值。---选自《LaTeX2e插图指南》
%====summarysheet页的生成====
\def\@maketitle{%
\makesheet%
\make@abstract%
}
%========abstract环境的设置==========
\def\@abstract{}
\newbox\@abstract %生成环境
\setbox\@abstract\hbox{}
\long\def\abstract{\bgroup\global\setbox\@abstract\vbox\bgroup\hsize\textwidth} % 一系列设置,一般不需要再改
\def\endabstract{\egroup\egroup}
%=======摘要生成命令=========
\def\make@abstract{
\par
\centerline{\large\bf\abstractname}\vskip5pt\par %摘要标题
\noindent\usebox\@abstract\par %摘要正文
\vskip 10pt %底部留空,若不需要可删去
}
% 图表标题的名称,已经合规不需要再修改
\renewcommand{\figurename}{Figure}
\renewcommand{\tablename}{Table}
% 自动识别的图表文件夹,若使用这些名字命名文件夹,则引用图片路径时只需填文件名即可
\graphicspath{{./}{./img/}{./fig/}{./image/}{./figure/}{./picture/}}
% 定理环境的声明,事实上大部分论文中用不到,但仍保留以供使用
\newtheorem{Theorem}{Theorem}[section]%
\newtheorem{Lemma}[Theorem]{Lemma}%
\newtheorem{Corollary}[Theorem]{Corollary}%
\newtheorem{Proposition}[Theorem]{Proposition}%
\newtheorem{Definition}[Theorem]{Definition}%
\newtheorem{Example}[Theorem]{Example}%
%=====页眉页脚设置=====
\lhead{\small \team}
\chead{}
\rhead{\small Page \thepage\ of \pageref{LastPage}}
\lfoot{}
\cfoot{}
\rfoot{}
% COMAP要求的summary sheet标题,注意每年比赛时有可能有小调整,请以官网发布的样式为准自行做小的修改!
\newcommand{\@problem}[1]{}
\newcommand{\problem}[1]{\gdef\@problem{#1}}
\def\makesheet{ %生成sheet头命令的定义
\null
\vskip 1em % 以上两条命令留出了sheet头和顶部的间距,若不要这个间距(比如摘要放不下)请注释掉这两条命令
\begingroup\fontfamily{fvs}\fontseries{m}\selectfont %字体设置
% 左边的列表
\noindent\begin{tabularx}{0.3\textwidth}{lX}
\multicolumn{2}{l}{For office use only}\\
T1&\rule{3cm}{0.5pt}\\
T2&\rule{3cm}{0.5pt}\\
T3&\rule{3cm}{0.5pt}\\
T4&\rule{3cm}{0.5pt}\\
\end{tabularx}\hspace{\fill}
% 中间的控制号环境
\begin{minipage}{0.33\textwidth}
\centering
Team Control Number\\[10pt]
{\fontsize{38pt}{25pt}\selectfont \textbf{\MCM@control} }\normalsize\\[10pt]
Problem Chosen\\[10pt]
{\fontsize{18pt}{\baselineskip}\selectfont \textbf{\@problem}}\normalsize\\
\end{minipage}\hspace{\fill}
% 右边的列表
\begin{tabularx}{0.28\textwidth}{lX}
\multicolumn{2}{l}{For office use only}\\
F1&\rule{3cm}{0.5pt}\\
F2&\rule{3cm}{0.5pt}\\
F3&\rule{3cm}{0.5pt}\\
F4&\rule{3cm}{0.5pt}\\
\end{tabularx}
\vspace*{1ex} % 留出一点空
\vskip 1em
\noindent\rule{\textwidth}{0.5pt} % 插入一条线
% 生成顶部标题
% 【注意:参加ICM的队请将下面的标题改为Interdisciplinary Contest in Modeling (ICM)】
\begin{center}
\textbf{\the\year\ \contest}\\
\notes
\end{center}
\begin{center}
\Large\bf\@title % 插入论文标题,注意字号可自己修改
\end{center}
\endgroup
}
\pagestyle{fancy}
\endinput