style: 按河南理工论文规范重排 — 封面/页眉页脚/标题字号/图表标题位置

This commit is contained in:
2026-05-28 13:45:07 +08:00
parent 2bdafc56bb
commit cf29da52f7
3 changed files with 165 additions and 41 deletions
+163 -41
View File
@@ -1,34 +1,83 @@
%!TEX program = xelatex
\documentclass[12pt,a4paper,openany]{ctexbook}
% --- 页面设置 ---
% ==================== 页面设置 ====================
\usepackage[top=2.5cm,bottom=2.5cm,left=3cm,right=2.5cm]{geometry}
\usepackage{setspace}
\onehalfspacing
\onehalfspacing % 1.5倍行距
% --- 字体 ---
\setCJKmainfont{STSong}[AutoFakeBold=2]
\setCJKsansfont{Noto Sans SC}
\setCJKmonofont{FangSong}
% ==================== 字体(河南理工规范) ====================
% 正文: 宋体(小四≈12pt) | 标题: 黑体 | 封面信息: 仿宋
% 数字和英文: Times New Roman (ctex 默认)
\setCJKmainfont{STSong}[AutoFakeBold=2] % 宋体
\setCJKsansfont{Noto Sans SC} % 黑体替代
\setCJKmonofont{FangSong} % 仿宋
\setmainfont{Times New Roman} % 英文/数字
% --- 图表 ---
% ==================== 页眉页脚 ====================
\usepackage{fancyhdr}
\usepackage{etoolbox}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[CO]{\zihao{-5}\songti 银发群体高温多时间尺度预警和服务优化可视化研究} % 奇数页
\fancyhead[CE]{\zihao{-5}\songti 河南理工大学本科毕业设计(论文)} % 偶数页
\fancyfoot[C]{\zihao{-5}\thepage}
\renewcommand{\headrulewidth}{0.4pt}
\fancypagestyle{plain}{
\fancyhf{}
\fancyfoot[C]{\zihao{-5}\thepage}
\renewcommand{\headrulewidth}{0pt}
}
% 摘要页页眉
\fancypagestyle{abstract}{
\fancyhf{}
\fancyhead[C]{\zihao{-5}\songti 摘要}
\fancyfoot[C]{\zihao{-5}\thepage}
\renewcommand{\headrulewidth}{0.4pt}
}
\fancypagestyle{abstract-en}{
\fancyhf{}
\fancyhead[C]{\zihao{-5}\songti ABSTRACT}
\fancyfoot[C]{\zihao{-5}\thepage}
\renewcommand{\headrulewidth}{0.4pt}
}
% ==================== 图表 ====================
\usepackage{graphicx}
\usepackage{float}
\usepackage{subcaption}
\usepackage{booktabs}
\usepackage{longtable}
% --- 参考文献 (GB/T 7714) ---
% 表标题在上方居中(五号黑体加粗)
\usepackage{caption}
\captionsetup[table]{
font={bf,small},
labelsep=quad,
position=above,
skip=2pt,
}
% 图标题在下方居中(五号宋体)
\captionsetup[figure]{
font=small,
labelsep=quad,
position=below,
skip=2pt,
}
% ==================== 参考文献 (GB/T 7714) ====================
\usepackage[backend=biber,style=gb7714-2015]{biblatex}
\addbibresource{refs.bib}
% --- 超链接 ---
% ==================== 超链接 ====================
\usepackage[hidelinks]{hyperref}
% --- 数学 ---
% ==================== 数学 ====================
\usepackage{amsmath,amssymb}
\numberwithin{equation}{chapter} % 公式编号: 章.序号
% --- 代码 ---
% ==================== 代码 ====================
\usepackage{listings}
\lstset{
basicstyle=\small\ttfamily,
@@ -38,10 +87,36 @@
numberstyle=\tiny,
}
% --- 其他 ---
% ==================== 其他 ====================
\usepackage{tikz}
\usepackage{caption}
\captionsetup{font=small,labelfont=bf}
\usetikzlibrary{positioning,arrows}
% ==================== 标题格式(河南理工规范) ====================
% 一级标题(章): 小二号黑体(18pt) 加粗 居中
\ctexset{
chapter={
format={\centering\zihao{-2}\heiti\bfseries},
name={第,章},
number=\arabic{chapter},
beforeskip=20pt,
afterskip=20pt,
},
section={
format={\zihao{4}\heiti\bfseries}, % 四号黑体
beforeskip=12pt,
afterskip=6pt,
},
subsection={
format={\zihao{-4}\heiti\bfseries}, % 小四号黑体
beforeskip=8pt,
afterskip=4pt,
},
subsubsection={
format={\zihao{-4}\heiti},
beforeskip=6pt,
afterskip=4pt,
},
}
\title{银发群体高温多时间尺度预警和服务优化可视化研究}
\author{刘航宇}
@@ -49,29 +124,39 @@
\begin{document}
% --- 封面 ---
\begin{center}
\vspace*{3cm}
{\large\bfseries 本科毕业论文}\\[1cm]
{\LARGE\bfseries 银发群体高温多时间尺度预警\\[0.3cm]和服务优化可视化研究}\\[2cm]
{\large\hspace{2em}院:计算机科学与技术学院}\\[0.5cm]
{\large\hspace{2em}业:计算机科学与技术}\\[0.5cm]
{\large\hspace{2em}名:刘航宇}\\[0.5cm]
{\large\hspace{2em}号:}\\[0.5cm]
{\large 指导教师:}\\[2cm]
{\large \today}
\end{center}
% ==================== 封面 ====================
\begin{titlepage}
\thispagestyle{empty}
\newpage
\begin{center}
\vspace*{2cm}
{\zihao{1}\heiti\bfseries 本科毕业设计(论文)}\\[1.5cm]
% --- 摘要 ---
{\zihao{2}\heiti\bfseries 银发群体高温多时间尺度预警\\[0.2cm]和服务优化可视化研究}\\[3cm]
{\zihao{4}\fangsong
\begin{tabular}{rl}
\textbf{\hspace{2em}院:} & 计算机科学与技术学院 \\[0.3cm]
\textbf{\hspace{2em}业:} & 计算机科学与技术 \\[0.3cm]
\textbf{\hspace{2em}名:} & 刘航宇 \\[0.3cm]
\textbf{\hspace{2em}号:} & \\[0.3cm]
\textbf{指导教师:} & \\[1.5cm]
\end{tabular}
}
\vfill
{\zihao{4}\fangsong \today}
\end{center}
\end{titlepage}
% ==================== 摘要 ====================
\input{chapters/abstract}
% --- 目录 ---
% ==================== 目录 ====================
\pagestyle{fancy}
\tableofcontents
\newpage
% --- 正文 ---
% ==================== 正文 ====================
\input{chapters/ch1-intro}
\input{chapters/ch2-theory}
\input{chapters/ch3-data}
@@ -80,10 +165,10 @@
\input{chapters/ch6-results}
\input{chapters/ch7-conclusion}
% --- 参考文献 ---
% ==================== 参考文献 ====================
\printbibliography[title=参考文献]
% --- 致谢 ---
% ==================== 致谢 ====================
\chapter*{致谢}
\addcontentsline{toc}{chapter}{致谢}
@@ -93,23 +178,60 @@
感谢家人和朋友在学业期间的理解、支持与鼓励。
% --- 附录 ---
% ==================== 附录 ====================
\appendix
\ctexset{
chapter={
format={\centering\zihao{-2}\heiti\bfseries},
name={附录},
number=\Alph{chapter},
},
}
\chapter{核心代码清单}
核心代码已开源,完整项目结构及运行说明见附录B。
研究核心代码已开源至 Gitea 仓库 \texttt{git@lhy-git.liuhangyv.top:Serendipity/elderly-heat-warning.git}。项目采用模块化结构:
\begin{verbatim}
src/
├── data/
│ ├── download_era5.py # ERA5 数据下载(CDS API
│ ├── extract_zips.py # NetCDF ZIP 解压
│ ├── preprocess.py # 数据预处理管线
│ └── collect_mortality.py # 死亡率数据整理
├── models/
│ ├── lstm_attention.py # LSTM-Attention 模型定义
│ ├── xgboost_baseline.py # XGBoost 基线
│ ├── train.py # 训练脚本
│ └── evaluate.py # 评估脚本
├── web/
│ ├── app.py # Flask 后端
│ └── static/
│ └── index.html # ECharts 前端大屏
└── utils/
└── config.py # 全局配置
\end{verbatim}
\chapter{系统运行说明}
\section{环境配置}
本项目使用 Python 3.13,依赖管理使用 uv。主要依赖包括 PyTorch、XGBoost、Flask、ECharts 等。
\begin{itemize}
\item Python 3.13
\item PyTorch 2.12.0+cu126GPU版本,CUDA 12.6
\item XGBoost 2.0+Scikit-learn 1.3+
\item Flask 3.0+ECharts 5.5
\item 环境管理:uv(虚拟环境 .venv)
\end{itemize}
\section{运行步骤}
\begin{enumerate}
\item 安装依赖:\texttt{uv pip install -e .}
\item 数据获取\texttt{python -m src.data.download\_era5}
\item 数据预处理\texttt{python -m src.data.preprocess}
\item 模型训练\texttt{python -m src.models.train}
\item 启动可视化\texttt{python -m src.web.app}
\item 浏览器访问:\texttt{http://localhost:5005}
\item \textbf{安装依赖}\texttt{uv pip install -e .}
\item \textbf{下载 ERA5 数据}\texttt{python -m src.data.download\_era5}
\item \textbf{解压 ZIP 格式数据}\texttt{python -m src.data.extract\_zips}
\item \textbf{运行预处理}\texttt{python -m src.data.preprocess}
\item \textbf{训练模型}\texttt{python -m src.models.train}LSTM
\item \textbf{评估模型}\texttt{python -m src.models.evaluate}(含XGBoost
\item \textbf{启动可视化大屏}\texttt{python -m src.web.app}
\item \textbf{浏览器访问}\texttt{http://localhost:5005}
\end{enumerate}
\end{document}