forked from helloMickey/Latex-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
template.cls
133 lines (122 loc) · 4.33 KB
/
template.cls
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
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{homework}[2024/05/13 report LaTeX class]
\LoadClass[UTF8,12pt]{article} % 12pt 为字号大小
\RequirePackage{amssymb,amsfonts,amsmath,amsthm}
\RequirePackage{times}
% \RequirePackage{graphicx} % 插图
% \RequirePackage{cite}
\RequirePackage{xeCJK}
\RequirePackage{placeins} % 防止浮动
\RequirePackage{enumerate}
\RequirePackage{lastpage}
\RequirePackage{makecell}
\RequirePackage{multirow}
%----------
% 插入代码的格式定义
% 参考 https://www.latexstudio.net/archives/5900.html
%----------
\RequirePackage{listings}
\lstset{
basicstyle=\scriptsize\ttfamily,
columns=fixed,
numbers=left, % 在左侧显示行号
numberstyle=\tiny\color{gray}, % 设定行号格式
frame=none, % 不显示背景边框
backgroundcolor=\color[RGB]{245,245,244}, % 设定背景颜色
keywordstyle=\color[RGB]{40,40,255}, % 设定关键字颜色
numberstyle=\footnotesize\color{darkgray},
commentstyle=\it\color[RGB]{0,96,96}, % 设置代码注释的格式
stringstyle=\rmfamily\slshape\color[RGB]{128,0,0}, % 设置字符串格式
showstringspaces=false, % 不显示字符串中的空格
language=c++, % 设置语言
}
%----------
% 算法伪代码
% https://blog.csdn.net/lwb102063/article/details/53046265
%----------
\RequirePackage{algorithm}
\RequirePackage{algpseudocode}
\RequirePackage{amsmath}
\renewcommand{\algorithmicrequire}{\textbf{Input:}} % Use Input in the format of Algorithm
\renewcommand{\algorithmicensure}{\textbf{Output:}} % Use Output in the format of Algorithm
%----------
% 字体定义
%----------
\setCJKmainfont[BoldFont={SimHei},ItalicFont={KaiTi}]{SimSun}
\setCJKsansfont{SimHei}
\setCJKfamilyfont{zhsong}{SimSun}
\setCJKfamilyfont{zhhei}{SimHei}
\setCJKfamilyfont{zhkai}{KaiTi}
\setCJKfamilyfont{zhfs}{FangSong}
\setCJKfamilyfont{zhli}{LiSu}
\setCJKfamilyfont{zhyou}{YouYuan}
\newcommand*{\songti}{\CJKfamily{zhsong}} % 宋体
\newcommand*{\heiti}{\CJKfamily{zhhei}} % 黑体
\newcommand*{\kaiti}{\CJKfamily{zhkai}} % 楷体
\newcommand*{\fangsong}{\CJKfamily{zhfs}} % 仿宋
\newcommand*{\lishu}{\CJKfamily{zhli}} % 隶书
\newcommand*{\yuanti}{\CJKfamily{zhyou}} % 圆体
%----------
% 版面设置
%----------
%首段缩进
\RequirePackage{indentfirst}
\setlength{\parindent}{2em}
%行距
\renewcommand{\baselinestretch}{1.25} % 1.25倍行距
%页边距
\RequirePackage[a4paper]{geometry}
\geometry{verbose,
tmargin=2cm,% 上边距
bmargin=2cm,% 下边距
lmargin=2cm,% 左边距
rmargin=2cm % 右边距
}
% ----------
% 多级标题格式在此设置
% https://zhuanlan.zhihu.com/p/32712209
% \titleformat{command}[shape]%定义标题类型和标题样式,字体
% {format}%定义标题格式:字号(大小),加粗,斜体
% {label}%定义标题的标签,即标题的标号等
% {sep}%定义标题和标号之间的水平距离
% {before-code}%定义标题前的内容
% [after-code]%定义标题后的内容
% ----------
\RequirePackage{titlesec} %自定义多级标题格式的宏包
% 三级标题
% 4
\titleformat{\section}[block]{\large \bfseries}{\arabic{section}}{1em}{}[]
% 4.1
\titleformat{\subsection}[block]{\normalsize \bfseries}{\arabic{section}.\arabic{subsection}}{1em}{}[]
% 4.1.1
\titleformat{\subsubsection}[block]{\small \mdseries}{\arabic{section}.\arabic{subsection}.\arabic{subsubsection}}{1em}{}[]
\titleformat{\paragraph}[block]{\footnotesize \bfseries}{[\arabic{paragraph}]}{1em}{}[]
%----------
% 其他宏包
%----------
%图形相关
\RequirePackage[x11names]{xcolor} % must before tikz, x11names defines RoyalBlue3
\RequirePackage{graphicx}
\RequirePackage{pstricks,pst-plot,pst-eps}
\RequirePackage{subfig}
\def\pgfsysdriver{pgfsys-dvipdfmx.def} % put before tikz
\RequirePackage{tikz}
%原文照排
\RequirePackage{verbatim}
%链接的格式
\RequirePackage[colorlinks,linkcolor=red]{hyperref}
%表格
\RequirePackage{tabularx}
\RequirePackage{booktabs}
% -------
% 图表标题
% -------
\RequirePackage{caption}
\captionsetup[figure]{name=图}
\captionsetup[table]{name=表}
\captionsetup[listing]{name=代码}
% ---------
% 参考文献
% ---------
\RequirePackage[english]{babel}
\addto\captionsenglish{\renewcommand{\refname}{参考文献}}