-
Notifications
You must be signed in to change notification settings - Fork 4
/
report.tex
426 lines (348 loc) · 17 KB
/
report.tex
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
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
% !Mode:: "TeX:UTF-8"
% !TEX program = xelatex
\documentclass{hfutreport}
%\documentclass[bwprint]{hfutreport} %打印的时候有超链接的地方不需要彩色,可以加上bwprint 选项
\title{合肥工业大学课程设计 \LaTeX{} 模板}
\stunum{2017214\^{}o\^{}}
\stuname{\href{https://github.com/LaureatePoet}{LauretePoet}}
\stuclass{数学与应用数学17-\^{}班}
\supervisor{你}
\dateinput{\today}
\maincontent{合肥工业大学课程设计任务书主要内容。因上个版本是基于其他版本的Thesis修改的版本,对于课程报告而言相较臃肿,所以有了重写的想法。这是我第一次写文档类\emph{.cls},是基于\href{https://github.com/latexstudio/CUMCMThesis}{\emph{cumcmthesis.cls}}编写了 \emph{hfutreport.cls},并将封面的logo切换成矢量图,总而言之已基本满足需求。\quad 本项目GitHub地址:\url{https://github.com/HFUTTUG/HFUT_Course_Report_Template}}
\begin{document}
\maketitle
% 目录使用Romen页脚
\pagestyle{plain}
\pagenumbering{Roman}
\tableofcontents
\newpage
\pagestyle{plain}
%正文页脚
\setcounter{page}{1}
\pagenumbering{arabic}
\section{模板的基本使用}
要使用 \LaTeX{} 来完成论文,首先要确保正确安装一个 \LaTeX{} 的发行版本。
\begin{itemize}
\item Mac 下可以使用 Mac\TeX{}
\item Linux 下可以使用 \TeX{}Live ;
\item windows 下可以使用 \TeX{}Live 或者 Mik\TeX{} ;
\end{itemize}
具体安装可以参考 \href{https://github.com/OsbertWang/install_latex/releases/download/v4.6/Install-LaTeX.pdf}{Install-LaTeX.pdf} 或者其它靠谱的文章。另外可以安装一个易用的编辑器,例如 \href{https://github.com/texstudio-org/texstudio/releases/download/2.12.16/texstudio-2.12.16-win-qt5.exe}{\TeX{}studio} 。
使用该模板前,请阅读模板的使用说明文档。
其实\textbf{更建议阅读}
\begin{enumerate}
\item \href{https://github.com/OsbertWang/install-latex}{一份简短的关于 \LaTeX{} 安装的介绍}
\item \href{http://mirrors.ctan.org/info/lshort/chinese/lshort-zh-cn.pdf}{一份不太简短的 \LaTeXe 介绍}
\end{enumerate}
下面给出模板使用的大概样式。
\section{图片}
文档中不可避免要插入图片。图片可以分为矢量图与位图。位图推荐使用 \verb|jpg,png| 这两种格式,避免使用 \verb|bmp| 这类图片,容易出现图片插入失败这样情况的发生。矢量图一般有 \verb|pdf,eps| ,推荐使用 \verb|pdf| 格式的图片,尽量不要使用 \verb|eps| 图片,理由相同。
注意图片的命名,避免使用中文来命名图片,可以用英文与数字的组合来命名图片。避免使用\verb|1,2,3| 这样顺序的图片命名方式。图片多了,自己都不清楚那张图是什么了,命名尽量让它有意义。下面是一个插图的示例代码。
\begin{figure}[!h]
\centering
\includegraphics[width=.6\textwidth]{HFUT_Horizontal_font&logo}
\caption{合肥工业大学校徽}
\label{fig:circuit-diagram}
\end{figure}
注意 \verb|figure| 环境是一个浮动体环境,图片的最终位置可能会跑动。\verb|[!h]| 中的 \verb|h| 是 here 的意思, \verb|!| 表示忽略一些浮动体的严格规则。另外里面还可以加上 \verb|btp| 选项,它们分别是 bottom, top, page 的意思。只要这几个参数在花括号里面,作用是不分先后顺序的。page 在这里表示浮动页。
\verb|\label{fig:circuit-diagram}| 是一个标签,供交叉引用使用的。例如引用图片 \verb|\cref{fig:circuit-diagram}| 的实际效果是\cref{fig:circuit-diagram}。图片是自动编号的,比起手动编号,它更加高效。\verb|\cref{label}| 由 \verb|cleveref| 宏包提供,比普通的 \verb|\ref{label}| 更加自动化。 \verb|label| 要确保唯一,命名方式推荐用图片的命名方式。
图片并排的需求解决方式多种多样,下面用 \verb|minipage| 环境来展示一个简单的例子。注意,以下例子用到了 \verb|subcaption| 命令,需要加载 subcaption 宏包。
\begin{figure}
\centering
\begin{minipage}[c]{0.3\textwidth}
\centering
\includegraphics[width=0.95\textwidth]{f1}
\subcaption{流程图}
\label{fig:sample-figure-a}
\end{minipage}
\begin{minipage}[c]{0.3\textwidth}
\centering
\includegraphics[width=0.95\textwidth]{f1}
\subcaption{流程图}
\label{fig:sample-figure-b}
\end{minipage}
\begin{minipage}[c]{0.3\textwidth}
\centering
\includegraphics[width=0.95\textwidth]{f1}
\subcaption{流程图}
\label{fig:sample-figure-c}
\end{minipage}
\caption{多图并排示例}
\label{fig:sample-figure}
\end{figure}
这相当于整体是一张大图片,大图片引用是\cref{fig:sample-figure},子图引用别分是\cref{fig:sample-figure-a}、\cref{fig:sample-figure-b}、\cref{fig:sample-figure-c}。
如果原本两张图片的高度不同,但是希望它们缩放后等高的排在同一行,参考这个例子:
\begin{figure}
\centering
\begin{minipage}[c]{0.48\textwidth}
\centering
\includegraphics[height=0.2\textheight]{HFUT_logo}
\subcaption{合肥工业大学校徽}
\end{minipage}
\begin{minipage}[c]{0.48\textwidth}
\centering
\includegraphics[height=0.2\textheight]{cat}
\subcaption{一只猫}
\end{minipage}
\caption{多图并排示例}
\end{figure}
\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{公式}
论文必然涉及不少数学公式的使用。下面简单介绍一个可能用得上的数学环境。
首先是行内公式,例如 $ \theta $ 是角度。行内公式使用 \verb|$ $| 包裹。
行间公式不需要编号的可以使用 \verb|\[ \]| 包裹,例如
\[
E=mc^2
\]
其中 $ E $ 是能量,$ m $ 是质量,$ c $ 是光速。
如果希望某个公式带编号,并且在后文中引用可以参考下面的写法:
\begin{equation}
E=mc^2
\label{eq:energy}
\end{equation}
式\cref{eq:energy}是质能方程。
多行公式有时候希望能够在特定的位置对齐,以下是其中一种处理方法。
\begin{align}
P & = UI \\
& = I^2R
\end{align}
\verb|&| 是对齐的位置, \verb|&| 可以有多个,但是每行的个数要相同。
矩阵的输入也不难。
\[
\mathbf{X} = \left(
\begin{array}{cccc}
x_{11} & x_{12} & \ldots & x_{1n}\\
x_{21} & x_{22} & \ldots & x_{2n}\\
\vdots & \vdots & \ddots & \vdots\\
x_{n1} & x_{n2} & \ldots & x_{nn}\\
\end{array} \right)
\]
分段函数这些可以用 \verb|case| 环境,但是它要放在数学环境里面。
\[
f(x) =
\begin{cases}
0 & x \text{为无理数} ,\\
1 & x \text{为有理数} .
\end{cases}
\]
在数学环境里面,字体用的是数学字体,一般与正文字体不同。假如要公式里面有个别文字,则需要把这部分放在 \verb|text| 环境里面,即 \verb|\text{文本环境}| 。
公式中个别需要加粗的字母可以用 \verb|$\bm{math symbol}$| 。如 $ \alpha a\bm{\alpha a} $ 。
以上仅简单介绍了基础的使用,对于更复杂的需求,可以阅读相关的宏包手册,如 \href{http://texdoc.net/texmf-dist/doc/latex/amsmath/amsldoc.pdf}{amsmath}。
希腊字母这些如果不熟悉,可以去查找符号文件 \href{http://mirrors.ctan.org/info/symbols/comprehensive/symbols-a4.pdf}{symbols-a4.pdf} ,也可以去 \href{http://detexify.kirelabs.org/classify.html}{detexify} 网站手写识别。另外还有数学公式识别软件 \href{https://mathpix.com/}{mathpix} 。
下面简单介绍一下定理、证明等环境的使用。
\begin{definition}
定义环境
\label{def:nosense}
\end{definition}
\cref{def:nosense}除了告诉你怎么使用这个环境以外,没有什么其它的意义。
除了 definition 环境,还可以使用 theorem 、lemma、corollary、assumption、conjecture、axiom、principle、problem、example、proof、solution 这些环境,根据论文的实际需求合理使用。
\begin{theorem}
这是一个定理。
\label{thm:example}
\end{theorem}
由\cref{thm:example}我们知道了定理环境的使用。
\begin{lemma}
这是一个引理。
\label{lem:example}
\end{lemma}
由\cref{lem:example}我们知道了引理环境的使用。
\begin{corollary}
这是一个推论。
\label{cor:example}
\end{corollary}
由\cref{cor:example}我们知道了推论环境的使用。
\begin{assumption}
这是一个假设。
\label{asu:example}
\end{assumption}
由\cref{asu:example}我们知道了假设环境的使用。
\begin{conjecture}
这是一个猜想。
\label{con:example}
\end{conjecture}
由\cref{con:example}我们知道了猜想环境的使用。
\begin{axiom}
这是一个公理。
\label{axi:example}
\end{axiom}
由\cref{axi:example}我们知道了公理环境的使用。
\begin{principle}
这是一个定律。
\label{pri:example}
\end{principle}
由\cref{pri:example}我们知道了定律环境的使用。
\begin{problem}
这是一个问题。
\label{pro:example}
\end{problem}
由\cref{pro:example}我们知道了问题环境的使用。
\begin{example}
这是一个例子。
\label{exa:example}
\end{example}
由\cref{exa:example}我们知道了例子环境的使用。
\begin{proof}
这是一个证明。
\label{prf:example}
\end{proof}
由\cref{prf:example}我们知道了证明环境的使用。
\begin{solution}
这是一个解。
\label{sol:example}
\end{solution}
由\cref{sol:example}我们知道了解环境的使用。
\section{其它小功能}
\subsection{脚注}
利用 \verb|\footnote{具体内容}| 可以生成脚注\footnote{脚注可以补充说明一些东西}。
\subsection{无序列表与有序列表}
无序列表是这样的:
\begin{itemize}
\item one
\item two
\item ...
\end{itemize}
有序列表是这样子的:
\begin{enumerate}
\item one
\item two
\item ...
\end{enumerate}
\subsection{字体加粗与斜体}
如果想强调部分内容,可以使用加粗的手段来实现。加粗字体可以用 \verb|\textbf{加粗}| 来实现。例如: \textbf{这是加粗的字体。 This is bold fonts} 。
中文字体没有斜体设计,但是英文字体有。\textit{斜体 Italics}。
\section{参考文献与引用}
参考文献对于一篇正式的论文来说是必不可少的,在论文中重要的参考文献当然应该列出。\LaTeX{}在这方面的功能也是十分强大的,下面进介绍一个比较简单的参考文献制作方法。有兴趣的可以学习 \verb|bibtex| 或 \verb|biblatex| 的使用。
\LaTeX{}的入门书籍可以看《\LaTeX{}入门》\cite{liuhaiyang2013latex}。这是一个简单的引用,用 \verb|\cite{bibkey}| 来完成;上标引用也比较简单\upcite{SCM2019},用\verb|\upcite{bibkey}| 来完成。要引用成功,当然要维护好 bibitem 了。
\section{写在后面}
\begin{itemize}
\item 作者能力有限,此模板还有诸多改进之处,希望有能力的同学能够进行修改并参与开发;
\item 对LaTeX开发有兴趣,或者有意加入\href{https://github.com/HFUTTUG}{@HFUTTUG}的同学可发送\href{mailto:poet@poetyin.com}{Email};
\item \LaTeX{} 有诸多优势,希望对它感兴趣的同学能够尽快建立一个组织或者团体开发我校 \LaTeX{} 相关模板,使之规范化,个人的力量总是有限的,Happy LaTeXing!
\end{itemize}
%参考文献
%如果参考文献不需要从新的一页开始,请将\newpage 注释
\newpage
\begin{thebibliography}{9}%宽度9
\bibitem[1]{liuhaiyang2013latex}
刘海洋.
\newblock \LaTeX {}入门\allowbreak[J].
\newblock 电子工业出版社, 北京, 2013.
\bibitem[2]{SCM2019}
张文钧, 殷振豪, 张丁洋. 运动类 App 使用现状及发展前景研究——以合肥市高校为例[J]. 2019 年 (第六届) 全国大学生统计建模大赛优秀论文集, 2019.
\bibitem[3]{shannon}
Shannon C E. A mathematical theory of communication[J]. The Bell system technical journal, 1948, 27(3): 379-423.
\bibitem[4]{bayesial}
Frazier P I. A tutorial on Bayesian optimization[J]. arXiv preprint arXiv:1807.02811, 2018.
\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 & {fancyhdr} & {makecell} & \\
\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}