texlive[72497] Master/texmf-dist: hduthesis (8oct24)
commits+karl at tug.org
commits+karl at tug.org
Tue Oct 8 22:00:51 CEST 2024
Revision: 72497
https://tug.org/svn/texlive?view=revision&revision=72497
Author: karl
Date: 2024-10-08 22:00:50 +0200 (Tue, 08 Oct 2024)
Log Message:
-----------
hduthesis (8oct24)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha1.tex
trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha2.tex
trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha3.tex
trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha4.tex
trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha5.tex
trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha6.tex
trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha7.tex
trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/thanks.tex
trunk/Master/texmf-dist/doc/xelatex/hduthesis/hduthesis.pdf
trunk/Master/texmf-dist/doc/xelatex/hduthesis/hduthesis.tex
trunk/Master/texmf-dist/doc/xelatex/hduthesis/reference.bib
trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-font-module.code.tex
trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis.cls
Added Paths:
-----------
trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/
trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-bc.pdf
trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-bc.tex
trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-pg.pdf
trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-pg.tex
trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-bc.layout-module.code.tex
trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-pg.layout-module.code.tex
trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-preamble-module.code.tex
trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-unv.layout-module.code.tex
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/xelatex/hduthesis/hduthesis-demo.pdf
trunk/Master/texmf-dist/doc/xelatex/hduthesis/hduthesis-demo.tex
trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-bc.cover-module.code.tex
trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-layout-module.code.tex
trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-matter-module.code.tex
Modified: trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha1.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha1.tex 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha1.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -1,21 +1,9 @@
\chapter{引言}
-目前的射击打靶训练,基本以实弹训练为主,国防开支大,危险系数高。传统的报靶方法是
-人工报靶,由报靶员根据经验确定靶数,带有很大的个人主观因素,可靠性、公正性差,效
-率低。因此有必要研制一种切合部队实际的,在非实弹射击条件下进行射击精度训练的打靶
-训练器,这样既能保证部队训练质量又能减少弹药消耗、节约国防费用,具有重大的国防意
-义。
+目前的射击打靶训练,基本以实弹训练为主,国防开支大,危险系数高。传统的报靶方法是人工报靶,由报靶员根据经验确定靶数,带有很大的个人主观因素,可靠性、公正性差,效率低。因此有必要研制一种切合部队实际的,在非实弹射击条件下进行射击精度训练的打靶训练器,这样既能保证部队训练质量又能减少弹药消耗、节约国防费用,具有重大的国防意义。
-以光代弹,可以模拟多种武器的射击情况,并可检验射击效果。这种新型的部队训练模拟器
-材是部队训练器材的一次革命,是和平时期部队训练的有效手段之一。一些发达国家,如美国、英国、德国等都在积极进行激光射击模拟训练器材的研制,并已开发出多种系列产品,其中最突出的是美国的“米勒斯”系列,它可模拟 36 种武器,性能好、准确而且逼真,大大推动了部队的训练工作。
+以光代弹,可以模拟多种武器的射击情况,并可检验射击效果。这种新型的部队训练模拟器材是部队训练器材的一次革命,是和平时期部队训练的有效手段之一。一些发达国家,如美国、英国、德国等都在积极进行激光射击模拟训练器材的研制,并已开发出多种系列产品,其中最突出的是美国的“米勒斯”系列,它可模拟 36 种武器,性能好、准确而且逼真,大大推动了部队的训练工作。
-八十年代以来,我国也有单位在进行激光模拟训练器的研究和探索,将激光射击模拟器用于
-部队训练,取得了很好的训练效果,提高了部队的战斗力。但在可靠性和数据处理等方面尚
-有许多技术问题有待改进,主要是以下几点:激光光斑太大,与实际步枪子弹口径
-$\qty{7.62}\mm$相差太多;探测器数量少会导致设计精度不高;探测器数量多会使得价
-格昂贵,无法推广;只能粗略指示命中与否,不能准确显示命中靶环环数和方位。因此,我们拟从这些方向作进一步的研究探索。
+八十年代以来,我国也有单位在进行激光模拟训练器的研究和探索,将激光射击模拟器用于部队训练,取得了很好的训练效果,提高了部队的战斗力。但在可靠性和数据处理等方面尚有许多技术问题有待改进,主要是以下几点:激光光斑太大,与实际步枪子弹口径$\qty{7.62}\mm$相差太多;探测器数量少会导致设计精度不高;探测器数量多会使得价格昂贵,无法推广;只能粗略指示命中与否,不能准确显示命中靶环环数和方位。因此,我们拟从这些方向作进一步的研究探索。
-本设计采用半导体激光器和半导体面阵列探测器来模拟子弹射击和射击靶标,具有模拟逼
-真,精度高等特点。主要从信号处理部分来设计实现激光打靶系统,每次射击能精确的显示
-5 -- 10 环的结果及脱靶情况,每个环数又可分为八个偏移方向。该系统简单实用,既能保
-证训练的质量又能减少弹药的消耗,是理想的公安、军队等部门训练使用的模拟打靶系统。
\ No newline at end of file
+本设计采用半导体激光器和半导体面阵列探测器来模拟子弹射击和射击靶标,具有模拟逼真,精度高等特点。主要从信号处理部分来设计实现激光打靶系统,每次射击能精确的显示 5 -- 10 环的结果及脱靶情况,每个环数又可分为八个偏移方向。该系统简单实用,既能保证训练的质量又能减少弹药的消耗,是理想的公安、军队等部门训练使用的模拟打靶系统。
\ No newline at end of file
Modified: trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha2.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha2.tex 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha2.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -2,11 +2,7 @@
\section{激光打靶系统概述}
-激光打靶系统\cite{cn1,cn2,cn3}的工作原理是采用激光脉冲来模拟枪弹的射击,该系统一般包括激光发
-射部分、激光信号检测模块、打靶成绩处理和显示部分。如图 2-1 所示,当射手瞄准完毕
-扣动扳机时,半导体激光器会发出激光脉冲,射向目标上的光电探测器,如果击中目标,则
-激光脉冲被光电探测器接收并转换为电信号,经电路处理能识别射击的弹着点,信号经处理
-编码后传输到计算机。
+激光打靶系统\cite{cn1,cn2,cn3}的工作原理是采用激光脉冲来模拟枪弹的射击,该系统一般包括激光发射部分、激光信号检测模块、打靶成绩处理和显示部分。如图 2-1 所示,当射手瞄准完毕扣动扳机时,半导体激光器会发出激光脉冲,射向目标上的光电探测器,如果击中目标,则激光脉冲被光电探测器接收并转换为电信号,经电路处理能识别射击的弹着点,信号经处理编码后传输到计算机。
\begin{figure}[htbp]
\centering
@@ -27,42 +23,23 @@
\caption{激光打靶系统原理图}
\end{figure}
-半导体激光器\cite{cn4,en5}一般平行地安装在武器装备的枪管、炮管或导弹发射架上,它可以发射
-一束与武器射击方向一致的激光脉冲。目前的激光器一般都采用半导体激光器,因为这种激
-光器的输出功率低,不会伤害眼睛,而且效率高、功耗小,不但可以摆脱大而重的电源设
-备,激光器本身也可以制作得很小、很轻。光电探测器\cite{en6}具有射击靶的形状,可以是点探测
-器和面探测器,通常数量较多,构成多个信号检测通路。根据光电探测器的响应位置来判断
-激光射击击中的靶位。
+半导体激光器\cite{cn4,en5}一般平行地安装在武器装备的枪管、炮管或导弹发射架上,它可以发射一束与武器射击方向一致的激光脉冲。目前的激光器一般都采用半导体激光器,因为这种激光器的输出功率低,不会伤害眼睛,而且效率高、功耗小,不但可以摆脱大而重的电源设备,激光器本身也可以制作得很小、很轻。光电探测器\cite{en6}具有射击靶的形状,可以是点探测器和面探测器,通常数量较多,构成多个信号检测通路。根据光电探测器的响应位置来判断激光射击击中的靶位。
-激光打靶采用以光代弹的形式进行射击训练,是激光武器模拟器中最常见的一种。最初的激
-光打靶系统只能进行瞄准射击训练,随着计算机和微处理器技术的发展,其用途扩大到可进
-行多种武器的模拟训练。随着研究和探索的深入,激光打靶系统的功能将进一步完善,能够
-更接近于武器装备在实际使用中的表现,增强真实感。同时,通过与电子技术相结合,进一
-步提高激光模拟的自动化、智能化水平。
+激光打靶采用以光代弹的形式进行射击训练,是激光武器模拟器中最常见的一种。最初的激光打靶系统只能进行瞄准射击训练,随着计算机和微处理器技术的发展,其用途扩大到可进行多种武器的模拟训练。随着研究和探索的深入,激光打靶系统的功能将进一步完善,能够更接近于武器装备在实际使用中的表现,增强真实感。同时,通过与电子技术相结合,进一步提高激光模拟的自动化、智能化水平。
激光武器模拟器有以下几个方面的发展趋势:
\begin{enumerate}
- \item 可以模拟的武器越来越多,激光武器模拟器正朝着系列化、组件化的方向发展,一
- 个基本的激光射击模拟器只要稍加改动就可适用于其他武器系统。系列化、组件化的好处
- 是便于使用、更换和维修,同时价格也便宜。
- \item 从激光射击模拟器向激光交战模拟器发展,先进的激光交战模拟器能使坦克、战斗
- 车辆、反坦克武器等有机的结合在一起进行训练,每部兵器既是攻击者,又是被攻击者,
- 完全模仿实战中的作战环境,不仅能提高战士使用武器的技能,还可以教会他们如何在战
- 争中保护自己。
- \item 采用各种新技术增加模拟的逼真性,例如用计算机来记录、控制整个训练演习的进
- 程,评定战士在演习中的表现等。
+ \item 可以模拟的武器越来越多,激光武器模拟器正朝着系列化、组件化的方向发展,一个基本的激光射击模拟器只要稍加改动就可适用于其他武器系统。系列化、组件化的好处是便于使用、更换和维修,同时价格也便宜。
+ \item 从激光射击模拟器向激光交战模拟器发展,先进的激光交战模拟器能使坦克、战斗车辆、反坦克武器等有机的结合在一起进行训练,每部兵器既是攻击者,又是被攻击者,完全模仿实战中的作战环境,不仅能提高战士使用武器的技能,还可以教会他们如何在战争中保护自己。
+ \item 采用各种新技术增加模拟的逼真性,例如用计算机来记录、控制整个训练演习的进程,评定战士在演习中的表现等。
\end{enumerate}
\section{本设计方案思路}
-本设计以实现信号的良好检测和数据转换、传输为主要目的;以信号检测,信号编码和数据
-传输为主要设计内容。
+本设计以实现信号的良好检测和数据转换、传输为主要目的;以信号检测,信号编码和数据传输为主要设计内容。
-在信号检测方面设计单脉冲小信号的放大电路和信号整形电路;在信号编码方面,要解决多
-路信号的编码问题,还要考虑到编码的优先选择问题;在脱靶问题的处理方法上,对打靶和
-信号采集传送进行同步化处理(详见第二章的硬件设计部分),把脱靶的情况与中靶的情况
-归为一类处理;数据传输采用 UART 串口通信。
+在信号检测方面设计单脉冲小信号的放大电路和信号整形电路;在信号编码方面,要解决多路信号的编码问题,还要考虑到编码的优先选择问题;在脱靶问题的处理方法上,对打靶和信号采集传送进行同步化处理(详见第二章的硬件设计部分),把脱靶的情况与中靶的情况归为一类处理;数据传输采用 UART 串口通信。
\section{研发方向和技术关键}
Modified: trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha3.tex 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha3.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -62,7 +62,7 @@
\newpage
\begin{figure}[htbp]
\centering
- \includegraphics[width = .87\linewidth]{image-0145}
+ \includegraphics[width = .86\linewidth]{image-0145}
\caption{靶位划分与编号}
\label{3-2}
\end{figure}
@@ -76,7 +76,7 @@
\begin{table}[htbp]
\centering
- \renewcommand{\arraystretch}{.66}
+ \renewcommand{\arraystretch}{1.3}
\caption{靶位编码}
\begin{tabular}{*{9}{@{}|@{}>{\small\centering\arraybackslash}p{.107\linewidth}}@{}|@{}}
\hline
Modified: trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha4.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha4.tex 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha4.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -2,8 +2,7 @@
\section{信号放大电路}
-在光电探测系统中,探测器输出的电信号非常微弱,一般为毫伏级。为记录每一次打靶的结
-果,信号放大与处理电路是打靶系统中不可或缺的。在探测器上直接进行信号处理十分困
+在光电探测系统中,探测器输出的电信号非常微弱,一般为毫伏级。为记录每一次打靶的结果,信号放大与处理电路是打靶系统中不可或缺的。在探测器上直接进行信号处理十分困
难,一种常用的解决办法是在探测器后接前置放大器,用来放大探测器的输出信号,然后成
功地传输到信号处理系统的有关电路部分。前置放大器的设计要求是低噪声,高增益,低输
出阻抗,大的动态范围,和较好的抗噪声能力。
@@ -41,7 +40,7 @@
\newpage
\begin{figure}[htbp]
\centering
- \includegraphics[width = .6\linewidth]{image-0162}
+ \includegraphics[width = .595\linewidth]{image-0162}
\caption{LM324内部结构}
\label{4-1}
\end{figure}
@@ -82,7 +81,7 @@
\begin{figure}[htbp]
\centering
- \includegraphics[width = .42\linewidth]{image-0236}
+ \includegraphics[width = .54\linewidth]{image-0236}
\caption{同相放大器}
\label{4-3}
\end{figure}
@@ -93,7 +92,6 @@
隔离直流作用,能起到很好的效果。第二级的$\qty1\uF$电容C2用于两级放大器的耦合。
第一级放大器输入端和地之间接 R3;第二级放大器输入端和地之间接 R7。使得:
-
\begin{equation}
\begin{cases}
R_3\approx R_1//R_2\\
@@ -100,7 +98,6 @@
R_7\approx R_5//R_6
\end{cases}
\end{equation}
-
这样,运放的正、负输入端对地的等效电阻相等,从而降低运放的电压偏移。
\end{enumerate}
@@ -115,6 +112,8 @@
\item \makebox[9em][l]{耦合方法:} 电容耦合
\end{enumerate}
+\clearpage
+\vspace*{-1.5em}
\section{整形电路\cite{cn11}}
光电池的输出脉冲并不是规则的矩形脉冲信号,而是类似升余弦信号。再经放大后也会产生
@@ -151,11 +150,9 @@
\subsection{编码电路图}
-\newpage
-
\begin{figure}[htbp]
\centering
- \includegraphics[width = \linewidth]{image-0289}
+ \includegraphics[width = .96\linewidth]{image-0289}
\caption{40-6 优先编码器电路图}
\label{4-6}
\end{figure}
@@ -170,7 +167,6 @@
优先编码的,而低位若同时输入 0,则是无意义的。此外,电路还设有选通输入,即使能
端 EI,它也是逻辑 0 有效;输出还设有允许输出端 Eo 及允许扩展端 Gs,利用它们
可判断出 是否有效,以及是否允许扩展编码。根据真值表,写出编码器的逻辑表达式如下:
-
\begin{equation}
\begin{aligned}
\overline{A_2}&=\overline{EI}\cdot I_7+\overline{EI}\cdot I_7\cdot I_6\cdot\overline{I_5}+\overline{EI}\cdot I_7\cdot I_6\cdot I_5\cdot\overline{I_4}\\
@@ -177,18 +173,15 @@
&=\overline{EI}(\overline{I_7}+I_7\overline{I_6}+I_7I_6I_5\overline{I_4})=\overline{EI}(\overline{I_7}+\overline{I_6}+\overline{I_5}+\overline{I_4})
\end{aligned}
\end{equation}
- 故
+ 故:
\begin{equation}
A_2=\overline{\overline{EI}(\overline{I_7}+\overline{I_6}+\overline{I_5}+\overline{I_4})}
\end{equation}
同理:
- \begin{equation}
- A_1=\overline{\overline{EI}(\overline{I_7}+\overline{I_6}+I_5I_4\overline{I_3}+I_5I_4I_2)}
- \end{equation}
-
- \begin{equation}
+ \begin{gather}
+ A_1=\overline{\overline{EI}(\overline{I_7}+\overline{I_6}+I_5I_4\overline{I_3}+I_5I_4I_2)}\\
A_0=\overline{\overline{EI}(\overline{I_7}+I_6\overline{I_5}+I_6I_4\overline{I_3}+I_6I_4I_2\overline{I_1})}
- \end{equation}
+ \end{gather}
而允许输出为:
\begin{equation}
E_OE_0=\overline{\overline{EI}\cdot I_7I_6I_5I_4I_3I_2I_1I_0}
@@ -197,15 +190,16 @@
\begin{equation}
Gs=EI+\overline{EI}\cdot I_7\;I_6\;I_5\;I_4\;I_3\;I_2\;I_1\;I_0=\overline{\overline{EI}\cdot E_O}
\end{equation}
- \newpage
- \begin{table}
+
+ \begin{table}[htbp]
\centering\scriptsize
- \renewcommand\arraystretch{.51}
+ \renewcommand\arraystretch{1.12}
\begin{tabular}{|>{\centering\arraybackslash\sffamily}p{.04\linewidth}|*{8}{>{\centering\arraybackslash\sffamily}p{.04\linewidth}}|*{3}{>{\centering\arraybackslash\sffamily}p{.04\linewidth}}|*{2}{>{\centering\arraybackslash\sffamily}p{.04\linewidth}}|}
\hline
\multicolumn{9}{|>{\sffamily\bfseries}c|}{INPUTS} & \multicolumn{5}{>{\sffamily\bfseries}c|}{OUTPUTS}\\
\hline
EI & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & A2 & A1 & A0 & GS & EO\\
+ \hline
H & X & X & X & X & X & X & X & X & H & H & H & H & H\\
L & H & H & H & H & H & H & H & H & H & H & H & H & L\\
L & X & X & X & X & X & X & X & L & L & L & L & L & H\\
@@ -249,7 +243,6 @@
\subsection{单片机及外围电路图}
-\newpage
\begin{figure}[htbp]
\centering
\includegraphics[width = .86\linewidth]{image-0419}
@@ -303,7 +296,7 @@
\begin{figure}[htbp]
\centering
- \includegraphics[width = .51\linewidth]{image-0440}
+ \includegraphics[width = .52\linewidth]{image-0440}
\caption{MAX232CPE 芯片内部结构}
\label{4-10}
\end{figure}
\ No newline at end of file
Modified: trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha5.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha5.tex 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha5.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -2,12 +2,9 @@
\section{总体方案}
-该系统的信号检测与数据传送部分,涉及的软件部分较少。主要是 2051 单片机数据串行通
-信及通信协议的程序设计。
+该系统的信号检测与数据传送部分,涉及的软件部分较少。主要是 2051 单片机数据串行通信及通信协议的程序设计。
-对于 2051 的程序设计\cite{cn12},由于所需实现的功能较简单,采用汇编的形式。编
-译器采用 Keil 7.02b。该编译器是 51 系列单片机程序设计的常用工具,既可用汇编,
-也支持 C 语言编译。同时具有完善的调试功能。
+对于 2051 的程序设计\cite{cn12},由于所需实现的功能较简单,采用汇编的形式。编译器采用 Keil 7.02b。该编译器是 51 系列单片机程序设计的常用工具,既可用汇编,也支持 C 语言编译。同时具有完善的调试功能。
\section{程序流图}
@@ -15,7 +12,7 @@
\centering
\begin{tikzpicture}
[
- every node/.style = { font = {\small}, minimum height = 2.5em}
+ every node/.style = { font = {\small}, minimum height = 3em}
]
\node [draw, rectangle, minimum width = 12em, minimum height = 2em] (a) at (0,0) {初始参数设置};
\node [draw, rectangle, minimum width = 10em, rounded corners = 1.2em, below = of a] (b) {等待中断};
@@ -38,12 +35,12 @@
\label{5-1}
\end{figure}
+\vspace*{-1.5em}
\section{模块说明}
-\newpage
\begin{enumerate}
\item 主程序:
- \begin{lstlisting}[basicstyle=\linespread{1.3}\selectfont, breaklines=true]
+ \begin{lstlisting}[basicstyle=\linespread{1.32}\small\ttfamily\selectfont, breaklines=true]
MAIN:
MOV SP,#0X60 ;堆栈初始化
CALL INIT ;各寄存器参数设置
@@ -51,7 +48,7 @@
AJMP $ ;等待中断
\end{lstlisting}
\item 初始化程序:
- \begin{lstlisting}[basicstyle=\linespread{1.3}\selectfont, breaklines=true]
+ \begin{lstlisting}[basicstyle=\linespread{1.32}\small\ttfamily\selectfont, breaklines=true]
INIT:
MOV TMOD,#0X21;波特率发生器
MOV TL1,#0XFD ;波特率 9600bps
@@ -69,7 +66,7 @@
RET
\end{lstlisting}
\item 中断服务程序:
- \begin{lstlisting}[basicstyle=\linespread{1.3}\selectfont, breaklines=true]
+ \begin{lstlisting}[basicstyle=\linespread{1.32}\small\ttfamily\selectfont, breaklines=true]
_INT0: ;ISR 中断服务程序
NOP
CALL DELAY_2MS;同步延时
@@ -81,7 +78,7 @@
\item 数据帧传送子程序:
\begin{figure}[htbp]
\centering\small
- \renewcommand{\arraystretch}{.6}
+ \setstretch{1.4}
\caption{数据帧格式}
\begin{tabular}{|*{4}{>{\centering\arraybackslash}p{.22\linewidth}|}}
\hline
@@ -91,11 +88,11 @@
\hline
\end{tabular}
\end{figure}
-
+ \clearpage
例:30 02 15 17(十六进制)
-
+
表示第二次打靶,击中第 21 号(对应环数:7 环 偏移方向:右上)。
- \begin{lstlisting}[basicstyle=\linespread{1.3}\selectfont, breaklines=true]
+ \begin{lstlisting}[basicstyle=\linespread{1.32}\small\ttfamily\selectfont, breaklines=true]
INT0_SEND: ;数据帧传送子程序
PUSH ACC ;保护 ACC
CLR A
@@ -111,27 +108,28 @@
INC 0040H ;打靶次数累加 1
CALL DELAY_200MS;延时 200ms
CLR EX0 ;关外部中断
- CLR IE0 ;清 INT0 外部中断请求标志位—防止外部中断寄存而引起多次中断。
+ CLR IE0 ;清INT0外部中断请求标志位—防止外部中断寄存
+ 而引起多次中断。
SETB EX0 ;开中断
RETI
\end{lstlisting}
\item 串行发送字节
- \begin{lstlisting}[basicstyle=\linespread{1.3}\selectfont, breaklines=true]
- UART_SEND: ;串行发送一个字节
+ \begin{lstlisting}[basicstyle=\linespread{1.32}\small\ttfamily\selectfont, breaklines=true]
+ UART_SEND: ;串行发送一个字节
MOV SBUF,A
- JNB TI,$ ;等待发送完毕
- CLR TI ;
+ JNB TI,$ ;等待发送完毕
+ CLR TI ;
RET
\end{lstlisting}
\item 定时程序:
- \begin{lstlisting}[basicstyle=\linespread{1.3}\selectfont, breaklines=true]
- DELAY_2MS: ;用定时器延时 2ms
+ \begin{lstlisting}[basicstyle=\linespread{1.32}\small\ttfamily\selectfont, breaklines=true]
+ DELAY_2MS: ;用定时器延时 2ms
MOV R7,#21;21
DLY1:MOV R6,#42
DLY2:DJNZ R6,DLY2
DJNZ R7,DLY1
RET
- DELAY_10MS: ;调用 DELAY_2MS,实现延时 10ms
+ DELAY_10MS: ;调用 DELAY_2MS,实现延时 10ms
MOV R5,#5
DLY: CALL DELAY_2MS
DJNZ R5,DLY
Modified: trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha6.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha6.tex 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha6.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -8,8 +8,9 @@
\begin{enumerate}
\item 电路原理简单,所用的器件均为常用器件。
- \item 由于路数较多(38 路),电路的规模较大,因此在制作中只做了 8 路。因此,
- 应合理布线,以降低焊接难度,降低出错率,同时防止干扰。
+ \item 由于路数较多(38 路),电路的规模较大,因此在制作中只做了 8 路。
+
+ 因此,应合理布线,以降低焊接难度,降低出错率,同时防止干扰。
\end{enumerate}
\subsection{电路划分}
@@ -23,32 +24,17 @@
\subsection{焊接}
-焊接前应熟悉各芯片的引脚,焊接时参照电路图,仔细地连接引脚。按照以
-下原则进行焊接:
+焊接前应熟悉各芯片的引脚,焊接时参照电路图,仔细地连接引脚。按照以下原则进行焊接:
\begin{enumerate}
\item 先焊接各芯片的电源线和地线,这样确保各芯片有正确的工作电压;
- \item 同类的芯片应顺序焊接,在一片焊接并检查好之后,其他的同类芯片便可以参照第
- 一片进行焊接。这样便可大大节省时间,也可降低出错率。
+ \item 同类的芯片应顺序焊接,在一片焊接并检查好之后,其他的同类芯片便可以参照第一片进行焊接。这样便可大大节省时间,也可降低出错率。
\end{enumerate}
\section{调试}
\begin{enumerate}
- \item 在 40-6 线优先编码器,由于没有详细阅读优先编码器的真值表,我认
- 为优先编码器为低位优先,因此所设计的编码标准(取小号有效)不符合标准。
- 不过发现错误后,对硬件电路无需修改,只要修改编码标准为取大号有效,便可
- 以解决问题。
- \item 由于光电池的响应信号经放大、编码,到达单片机 P1 口时有一定的延
- 时,为使单片机准确地通过外部中断进行有效数据的采集,应知道延时的大概范
- 围。编写单片机程序时,编写了一个延时 2ms 的子程序,可以调用进行一定的延
- 时,通过延时时间不同的程序进行多次烧录并进行调试,然后比较所得的不同结
- 果,这样便可以大概知道要采集正确的数所需的延时时间(最后程序采用的延时
- 时间为$\qty2\ms$)。
- \item 电路中同时控制激光发射和单片机外部中断的开关为普通的按钮开关,
- 因此在按下和弹起都有颤动,这样会引起单片机外部中断的多次响应,使一次``射
- 击动作''引起多次响应,单片机输出多个值。通常的消颤方法有两种:硬消颤和
- 软消颤。硬消颤指通过硬件上的消颤电路使开关的一次动作只能产生一个脉冲跳
- 变;而软消颤主要通过延时或对响应的屏蔽来实现。在该设计中采用较为简便的
- 软消颤,具体的方案见第五章。
+ \item 在 40-6 线优先编码器,由于没有详细阅读优先编码器的真值表,我认为优先编码器为低位优先,因此所设计的编码标准(取小号有效)不符合标准。不过发现错误后,对硬件电路无需修改,只要修改编码标准为取大号有效,便可以解决问题。
+ \item 由于光电池的响应信号经放大、编码,到达单片机 P1 口时有一定的延时,为使单片机准确地通过外部中断进行有效数据的采集,应知道延时的大概范围。编写单片机程序时,编写了一个延时$\qty2\ms$的子程序,可以调用进行一定的延时,通过延时时间不同的程序进行多次烧录并进行调试,然后比较所得的不同结果,这样便可以大概知道要采集正确的数所需的延时时间(最后程序采用的延时时间为$\qty2\ms$)。
+ \item 电路中同时控制激光发射和单片机外部中断的开关为普通的按钮开关,因此在按下和弹起都有颤动,这样会引起单片机外部中断的多次响应,使一次``射击动作''引起多次响应,单片机输出多个值。通常的消颤方法有两种:硬消颤和软消颤。硬消颤指通过硬件上的消颤电路使开关的一次动作只能产生一个脉冲跳变;而软消颤主要通过延时或对响应的屏蔽来实现。在该设计中采用较为简便的软消颤,具体的方案见第五章。
\end{enumerate}
\ No newline at end of file
Modified: trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha7.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha7.tex 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/cha7.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -1,22 +1,11 @@
\chapter{结论}
-本设计方案达到了任务书的要求,实现了激光信号的检测、编码和串行传输,
-实现了较为完整的激光打靶系统的信号处理:
+本设计方案达到了任务书的要求,实现了激光信号的检测、编码和串行传输,实现了较为完整的激光打靶系统的信号处理:
\begin{enumerate}
- \item (1)前端放大器的放大倍数适中,放大后,有效电压脉冲的幅度达到施密特
- 触发器的上门限电压,背景干扰信号没有引起电路的误响应;
- \item 经过调试,实现 40-6 优先编码器的扩展,编码值输出符合真值表,编
- 码有效脉冲下降沿的波形正常;
- \item 由开关按钮(模拟激光枪的扳机)控制的编码采集和串行传送也调试实
- 现(通过与计算机的串口相连,用``串口调试程序''调试);
- \item 信号处理电路通过串口连接到计算机,应用张雪荣同学设计的“激光打
- 靶成绩统计”软件进行总体调试,实现对打靶成绩的显示统计和储存。
+ \item 前端放大器的放大倍数适中,放大后,有效电压脉冲的幅度达到施密特触发器的上门限电压,背景干扰信号没有引起电路的误响应;
+ \item 经过调试,实现 40-6 优先编码器的扩展,编码值输出符合真值表,编码有效脉冲下降沿的波形正常;
+ \item 由开关按钮(模拟激光枪的扳机)控制的编码采集和串行传送也调试实现(通过与计算机的串口相连,用``串口调试程序''调试);
+ \item 信号处理电路通过串口连接到计算机,应用张雪荣同学设计的``激光打靶成绩统计''软件进行总体调试,实现对打靶成绩的显示统计和储存。
\end{enumerate}
-由于时间、水平和经验有限,在信号的放大、编码及抗干扰等方面仍有不足
-之处,有改进的余地,比如电路规模的精简,其他的光干扰处理。另外在系统的
-调试方面,由于时间和设备的原因,只进行了短距离的调试,有待进一步的调试。
-这次毕业设计对于我来说,既是一次机遇,又是一次挑战。通过这次的毕业
-设计,我学到了很多东西,通过自己的实践,增强了动手能力。通过实际工程的
-设计也使我了解到书本知识和实际应用的差别。在实际应用中遇到很多的问题,
-这都需要我对问题进行具体的分析,并一步一步地去解决它。
\ No newline at end of file
+由于时间、水平和经验有限,在信号的放大、编码及抗干扰等方面仍有不足之处,有改进的余地,比如电路规模的精简,其他的光干扰处理。另外在系统的调试方面,由于时间和设备的原因,只进行了短距离的调试,有待进一步的调试。这次毕业设计对于我来说,既是一次机遇,又是一次挑战。通过这次的毕业设计,我学到了很多东西,通过自己的实践,增强了动手能力。通过实际工程的设计也使我了解到书本知识和实际应用的差别。在实际应用中遇到很多的问题,这都需要我对问题进行具体的分析,并一步一步地去解决它。
\ No newline at end of file
Modified: trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/thanks.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/thanks.tex 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/doc/xelatex/hduthesis/cha/thanks.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -1,10 +1,8 @@
\chapter*{致谢}
-在这几个月的时间里,从对课题的理解,方案的设计,到电路的制作,再到论文的写作,中
-间有着自己的努力,更有着老师和同学的关心和巨大的帮助。
+在这几个月的时间里,从对课题的理解,方案的设计,到电路的制作,再到论文的写作,中间有着自己的努力,更有着老师和同学的关心和巨大的帮助。
-感谢秦会斌老师在很忙的情况下,为我讲解课题的要点,引领设计的思路。他对学生认真负
-责的态度让我由衷地敬佩。
+感谢秦会斌老师在很忙的情况下,为我讲解课题的要点,引领设计的思路。他对学生认真负责的态度让我由衷地敬佩。
感谢唐大勇和章国平同学给予我无私的帮助,他们对我所遇到的难题的解答让我受益匪浅。
Added: trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-bc.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-bc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-bc.pdf 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-bc.pdf 2024-10-08 20:00:50 UTC (rev 72497)
Property changes on: trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-bc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-bc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-bc.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-bc.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -0,0 +1,44 @@
+\documentclass{hduthesis}
+
+\setCJKmainfont{Songti SC}[AutoFakeSlant]
+\setCJKsansfont{STHeiti}[AutoFakeBold = 2]
+\tikzset{ > = stealth }
+\usetikzlibrary{positioning,shapes.geometric}
+
+\DocInfo
+{
+ title = 杭州电子科技大学学位论文 \hologo{LaTeX} 模板/毕业论文,
+ school = 理学院,
+ major = 物理学,
+ class = 英才班,
+ stdntid = C668668E,
+ author = 申智能,
+ supervisor = 李智能,
+ % reference = reference
+}
+
+\begin{document}
+
+\maketitle
+
+\input{cha/abstract.tex}
+
+\pagestyle{fancy}
+\frontmatter
+\tableofcontents
+\mainmatter
+
+\input{cha/cha1.tex}
+\input{cha/cha2.tex}
+\input{cha/cha3.tex}
+\input{cha/cha4.tex}
+\input{cha/cha5.tex}
+\input{cha/cha6.tex}
+\input{cha/cha7.tex}
+\input{cha/thanks.tex}
+\printbibliography
+
+\appendix
+\chapter*{附录}
+
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-bc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-pg.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-pg.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-pg.pdf 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-pg.pdf 2024-10-08 20:00:50 UTC (rev 72497)
Property changes on: trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-pg.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-pg.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-pg.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-pg.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -0,0 +1,24 @@
+\documentclass{hduthesis}
+
+\setCJKmainfont{Songti SC}[AutoFakeSlant]
+\setCJKsansfont{STHeiti}[AutoFakeBold = 2]
+\tikzset{ > = stealth }
+\usetikzlibrary{positioning,shapes.geometric}
+
+\DocInfo
+{
+ title = 杭州电子科技大学学位论文 \hologo{LaTeX} 模板/
+ \hologo{LaTeX} Template for Thesis at Hangzhou Dianzi University,
+ school = 理学院,
+ major = 物理学,
+ stdntid = C668668E00,
+ author = 申智能/SAN Chi Nan,
+ supervisor = 李智能/LEE Chi Nan,
+ reference = reference
+}
+
+\begin{document}
+
+\maketitle
+
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/xelatex/hduthesis/examples/hduthesis-pg.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/xelatex/hduthesis/hduthesis-demo.pdf
===================================================================
(Binary files differ)
Deleted: trunk/Master/texmf-dist/doc/xelatex/hduthesis/hduthesis-demo.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/hduthesis/hduthesis-demo.tex 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/doc/xelatex/hduthesis/hduthesis-demo.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -1,45 +0,0 @@
-\documentclass{hduthesis}
-
-\setCJKmainfont{SimSong}
-\setCJKsansfont{STHeiti}[AutoFakeBold = 2]
-\tikzset{ > = stealth }
-\usetikzlibrary{positioning,shapes.geometric}
-
-\DocInfo
-{
- title = XXXXXX,
- school = 理学院,
- % major = ,
- % class = ,
- stdntid = 31415926,
- % author = ,
- % supervisor = ,
- reference = reference.bib
-}
-
-\begin{document}
-
-\maketitle
-
-\input{cha/abstract.tex}
-
-\pagestyle{fancy}
-\frontmatter
-\tableofcontents
-\mainmatter
-
-\input{cha/cha1.tex}
-\input{cha/cha2.tex}
-\input{cha/cha3.tex}
-\input{cha/cha4.tex}
-\input{cha/cha5.tex}
-\input{cha/cha6.tex}
-\input{cha/cha7.tex}
-\input{cha/thanks.tex}
-
-\printbibliography
-
-\appendix
-\chapter*{附录}
-
-\end{document}
\ No newline at end of file
Modified: trunk/Master/texmf-dist/doc/xelatex/hduthesis/hduthesis.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/xelatex/hduthesis/hduthesis.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/hduthesis/hduthesis.tex 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/doc/xelatex/hduthesis/hduthesis.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -3,36 +3,32 @@
\hypersetup{urlcolor = teal, filecolor = violet}
\hologoFontSetup{general = \sffamily}
\usepackage[mono = false]{libertine}
-\usepackage{geometry,framed,xeCJKfntef,enumitem}
+\usepackage{geometry,framed,xeCJKfntef,enumitem,pdfpages,dirtree}
\setlength{\oddsidemargin}{63pt}\setlength{\evensidemargin}{63pt}
\FrameSep = 0pt
\usepackage[os = mac]{menukeys}
\AddToHook{env/function/before}{\vspace{-.3\baselineskip}}
\AddToHook{env/syntax/after}{\vspace{-.2\baselineskip}}
-\usepackage{datetime}
-\yyyymmdddate
-\usepackage[fontset = none, scheme = plain]{ctex}
-\linespread{1.3}
+\usepackage{datetime}\yyyymmdddate
+\usepackage[fontset = none, scheme = plain]{ctex}\linespread{1.5}
\setCJKmainfont[AutoFakeSlant]{Songti SC}
\setCJKsansfont[BoldFont = Hei, AutoFakeSlant]{Heiti SC}
-\setCJKmonofont[AutoFakeSlant]{LXGW WenKai}
+\setCJKmonofont[AutoFakeSlant]{LXGW WenKai Mono}
\renewcommand{\emph}[1]{\CJKsout*[thickness=2.5ex, format=\color{blue!15}]{#1}}
-\title{\bfseries The \textsc{\cls{HduThesis}} Class\\
-\hologo{LaTeX} Thesis Template for Hangzhou Dianzi University}
+\title{\bfseries The \textsc{\cls{HduThesis}} Class\\\hologo{LaTeX} Thesis Template for Hangzhou Dianzi University}
\author
{
Mingyu Xia \texttt{<\href{mailto:xiamyphys at gmail.com}{xiamyphys at hdu.edu.cn}>}
- \footnote{
- School of Sciences, Physics Department, Graduate in 06/2025 (expected)
- }
+ \footnote
+ { School of Sciences, Physics Department, Graduate in 06/2025 (expected) }
}
-\date{v0.1.1\footnote{\url{https://github.com/xiamyphys/hduthesis}} ~(\today)}
+\date{v0.2.0\footnote{\url{https://github.com/xiamyphys/hduthesis}} ~(\today)}
\begin{document}
-\newgeometry{margin = 1in}
\begin{titlepage}
+ \newgeometry{margin = 1in}
\maketitle
\begin{center}
\tikz
@@ -44,8 +40,7 @@
}
\end{center}
\begin{abstract}
- \textsc{\pkg{HDUThesis}} 是杭州电子科技大学毕业论文 \hologo{LaTeX}模板,
- 支持学士论文排版. 后续会扩展到硕士、博士论文.
+ \textsc{\pkg{HDUThesis}} 是杭州电子科技大学毕业论文 \hologo{LaTeX}模板,支持学士和硕士学位论文排版.
\vspace*{1em}
\begin{center}
\footnotesize\bfseries User Agreement
@@ -52,18 +47,12 @@
\end{center}
\begin{enumerate}[leftmargin = 2.5ex]
\item 本模板通过 LPPL 1.3c 协议开放源代码,您可以随意使用编译出的 PDF 文件.
- \item 本模板根据杭州电子科技大学教务处颁发的
- \href{https://jwc.hdu.edu.cn/2022/0428/c4528a153813/page.htm}
- {杭电理工类毕业论文写作规范} 编写而成. 作者不对使用本模板产生的格式审查问题负责.
- \emph{如果您所在的学院因论文查重、收录等原因要求提交 \file{.docx} 格式,
- 不接收 \file{.pdf} 论文稿件,请勿执意使用本模板,避免因格式转换带来不必要的麻烦.}
- \item 欢迎前往 GitHub 提交反馈意见,
- 为推动学校认证与规范化\textsc{\cls{HduThesis}} 贡献力量.
+ \item 本模板根据杭州电子科技大学教务处颁发的 \href{https://jwc.hdu.edu.cn/2022/0428/c4528a153813/page.htm}{杭电理工类毕业论文写作规范} 编写而成. 作者不对使用本模板产生的格式审查问题负责. \emph{如果您所在的学院因论文查重、收录等原因要求提交 \file{.docx} 格式,不接收 \file{.pdf} 论文稿件,请勿执意使用本模板,避免因格式转换带来不必要的麻烦.}
+ \item 欢迎前往 GitHub 提交反馈意见,为推动学校认证与规范化 \textsc{\cls{HduThesis}} 贡献力量.
\end{enumerate}
\end{abstract}
\thispagestyle{empty}
\end{titlepage}
-
\restoregeometry
\section{Generate the Cover}
@@ -73,46 +62,44 @@
\cs{DocInfo}\marg{keyvals}
\end{syntax}
- 此命令接收键值,用于设置文档信息. 键 \keys{\cmdmac~title} 用于设置论文标题,
- 键 \keys{\cmdmac~school} 用于设置学院,键 \keys{\cmdmac~major} 用于设置专业,
- 键 \keys{\cmdmac~class} 用于设置班级,键 \keys{\cmdmac~stdntid} 用于设置学号,
- 键 \keys{\cmdmac~author} 用于设置作者,键 \keys{\cmdmac~supervisor} 用于设置导师,
- 键 \keys{\cmdmac~reference} 用于设置插入参考文献文件源.
+ 此命令接收键值,用于设置文档信息. 键 \keys{\cmdmac~title} 用于设置论文标题,键 \keys{\cmdmac~school} 用于设置学院,键 \keys{\cmdmac~major} 用于设置专业,键 \keys{\cmdmac~class} 用于设置班级,键 \keys{\cmdmac~stdntid} 用于设置学号,键 \keys{\cmdmac~author} 用于设置作者,键 \keys{\cmdmac~supervisor} 用于设置导师,键 \keys{\cmdmac~reference} 用于设置插入参考文献文件源.
\begin{framed}
\begin{verbatim}
- \documentclass{hduthesis}
+ \documentclass { hduthesis }
\DocInfo
{
- title = XXXXXX , school = 理学院, major = , class = ,
- stdntid = 31415926, author = , supervisor = , reference =
+ title = 杭州电子科技大学学位论文 \hologo{LaTeX} 模板/
+ \hologo{LaTeX} Template for Thesis at Hangzhou Dianzi University,
+ school = 理学院, major = 物理学,
+ stdntid = C668668E00, author = 申智能/SAN Chi Nan,
+ supervisor = 李智能/LEE Chi Nan, reference = reference
}
- \begin{document} \maketitle ... \end{document}
+ \begin{document} \maketitle ... \end{document}
\end{verbatim}
\end{framed}
- \begin{center}
- \fbox{\includegraphics[page = 1, width = .432\linewidth]{hduthesis-demo}}
- \hfill
- \fbox{\includegraphics[page = 2, width = .432\linewidth]{hduthesis-demo}}
- \end{center}
+ 命令会根据输入的学号自动判断使用者为本科生/研究生 \footnote{杭州电子科技大学本科生学号为8位,研究生学号为10位.}. 依学校要求,硕士学位论文扉页需同时有英文版. 因此需要在键 \keys{\cmdmac~title} \keys{\cmdmac~author} \keys{\cmdmac~supervisor} 中输入中文和英文信息. 如作者中文姓名为 \cmd{申智能},英文姓名为 \cmd{SAN Chi Nan},则键值输入格式为 \cmd{author = 申智能/SAN Chi Nan}.
- 命令 \cs{DocInfo} 需在导言区中执行. 通过此命令完成文档信息输入后,
- 在 \verb|\begin{document}| 后执行命令 \cs{maketitle} 会调用所设置的键值并自动生成\emph{论文封面}和\emph{诚信承诺书}.
+ 对于本科生,则需要使用键 \keys{\cmdmac~title} 设置类型为毕业设计/毕业论文,即 \cmd{title = Title/毕业设计}.
+
+ 命令 \cs{DocInfo} 需在导言区中执行. 通过此命令完成文档信息输入后,在 \verb|\begin{document}| 后执行命令 \cs{maketitle} 会调用所设置的键值并自动生成 \emph{论文封面} 和 \emph{诚信承诺书}.
\end{function}
-论文完成日期和学生毕业年份会根据当前系统时间自动生成.
-如果当前月份在8月及以前,毕业年份会显示当前年;如果当前月份在9月及以后,毕业年份会显示次年.
-如果执意要更改毕业年份,则需在导言区中命令 \cs{DocInfo} 后输入
+\begin{function}{\l__hduthesis_grade_int}
+ \begin{syntax}
+ \cs{ExplSyntaxOn} \cs{int_set:Nn} \cs{l__hduthesis_grade_int} \marg{Year} \cs{ExplSyntaxOff}
+ \end{syntax}
-\begin{framed}
- \begin{verbatim}
- \ExplSyntaxOn
- \int_set:Nn \l__hduthesis_grade_int {<Graduate Year>}
- \ExplSyntaxOff
- \end{verbatim}
-\end{framed}
+ 论文完成日期和学生毕业年份会根据当前系统时间自动生成. 如果当前月份在8月及以前,毕业年份会显示当前年;如果当前月份在9月及以后,毕业年份会显示次年.
+ 在导言区 \cs{DocInfo} 命令后对整型 \cs{l__hduthesis_grade_int} 重新赋值可强制更改毕业年份.
+\end{function}
+
+下页包含所生成的本科毕业设计与硕士学位论文封面、扉页和承诺书缩略图. 本科毕业设计与硕士学位论文样例可分别在终端执行 \cmd{texdoc hduthesis-bc} 和 \cmd{texdoc hduthesis-pg} 获取.
+
+文档类同时提供了校徽 (\file{hdulogo.pdf})、校牌 (\file{hdubadge.pd}) 与校训 (\file{hdumotto.pdf}) 的矢量素材,可直接使用. 以上文件均由 \href{https://www.hdu.edu.cn/666/list.htm}{校情纵览/校标规范} 所提供素材裁切制成,均支持在 \hologo{XeLaTeX} 和 \hologo{pdfLaTeX} 编译器下使用 \pkg{tikz} 等方式设置透明度.
+
\section{Enter Abstract in EN / CN}
\begin{function}{abstract (env.),\keywords}
@@ -121,34 +108,41 @@
\cs{begin}\{abstract\}[cn] ...\cs{keywords}\marg{关键词列表} \cs{end}\{abstract\}
\end{syntax}
- 环境 \env{abstract} 用于生成摘要,其可选参数可设置语言格式.
- 命令 \cs{keywords} 需在 \env{abstract} 环境内执行,
- 其会根据 \env{abstract} 环境所选择的语言,自动生成英文 / 中文格式的关键词.
+ 环境 \env{abstract} 用于生成摘要,其可选参数可设置语言格式. 命令 \cs{keywords} 需在 \env{abstract} 环境内执行,其会根据 \env{abstract} 环境所选择的语言,自动生成英文 / 中文格式的关键词.
- 通过命令 \cs{keywords} 以半角逗号 (,) 为分隔输入关键词列表,
- 输出时会根据所处 \env{abstract} 环境选择的语言不同,自动以半 / 全角分号分隔.
+ 通过命令 \cs{keywords} 以半角逗号 (,) 为分隔输入关键词列表,输出时会根据所处 \env{abstract} 环境选择的语言不同,自动以半 / 全角分号分隔.
\begin{center}
- \fbox{\includegraphics[page = 3, width = .432\linewidth]{hduthesis-demo}}
+ \fbox
+ { \includegraphics[page = 3, width = .46\linewidth]
+ {/Users/xiamyphys/Desktop/LaTeXer/hduthesis/examples/hduthesis-bc.pdf} }
\hfill
- \fbox{\includegraphics[page = 4, width = .432\linewidth]{hduthesis-demo}}
+ \fbox
+ { \includegraphics[page = 4, width = .46\linewidth]
+ {/Users/xiamyphys/Desktop/LaTeXer/hduthesis/examples/hduthesis-pg.pdf} }
\end{center}
\end{function}
+\includepdfmerge
+ [
+ angle = -90, nup = 2x3, frame, linktodoc, scale=0.94,
+ delta = \fpeval{(11-1.5*8.5*210/297)/8}1in
+ \fpeval{(11-1.5*8.5*210/297)/3}1in
+ ]
+ { /Users/xiamyphys/Desktop/LaTeXer/hduthesis/examples/hduthesis-pg.pdf, 2,
+ /Users/xiamyphys/Desktop/LaTeXer/hduthesis/examples/hduthesis-bc.pdf, 1,
+ /Users/xiamyphys/Desktop/LaTeXer/hduthesis/examples/hduthesis-pg.pdf, 3,
+ /Users/xiamyphys/Desktop/LaTeXer/hduthesis/examples/hduthesis-bc.pdf, 2,
+ /Users/xiamyphys/Desktop/LaTeXer/hduthesis/examples/hduthesis-pg.pdf, 4,
+ /Users/xiamyphys/Desktop/LaTeXer/hduthesis/examples/hduthesis-pg.pdf, 1
+ }
+
\section{Input Text}
\textsc{\cls{HduThesis}} 的 {chapter}、\cs{section}、\cs{subsection}、\cs{enumerate} 等段落级次均已按``\href{https://jwc.hdu.edu.cn/2022/0428/c4528a153813/page.htm}{杭电理工类毕业论文写作规范}''定制,可直接使用.
-\begin{center}
- \fbox{\includegraphics[page = 5, width = .3\linewidth]{hduthesis-demo}}
- \hfill
- \fbox{\includegraphics[page = 11, width = .3\linewidth]{hduthesis-demo}}
- \hfill
- \fbox{\includegraphics[page = 12, width = .3\linewidth]{hduthesis-demo}}
-\end{center}
+如需插入参考文献,通过命令 \cs{DocInfo} 导入 \file{.bib} 文件后在文章末尾输入 \cs{printbiblography} 即可输出参考文献列表. 文档已将参考文献格式设置为 \cmd{gb7714-2015}. 若未指定参考文献 \file{.bib} 文件,为加速编译,\pkg{gbt7714} 宏包将不会加载. 同时,模板额外预置了以下宏包
-同时,模板额外预置了以下宏包
-
\begin{table}[htbp]
\centering
\begin{tabular}{*{8}{p{.096\linewidth}}}
@@ -161,50 +155,37 @@
\end{tabular}
\end{table}
-如需插入参考文献,通过命令 \cs{DocInfo} 导入 \file{.bib} 文件后在文章末尾输入
-\cs{printbiblography} 即可输出参考文献列表. 文档已将参考文献格式设置为 \cmd{gb7714-2015}. 若未指定参考文献\file{.bib} 文件,则 \pkg{biblatex} 宏包将不会加载.
+\begin{center}
+ \fbox
+ { \includegraphics[page = 5, width = .3\linewidth]
+ {/Users/xiamyphys/Desktop/LaTeXer/hduthesis/examples/hduthesis-bc.pdf}
+ }
+ \hfill
+ \fbox
+ { \includegraphics[page = 11, width = .3\linewidth]
+ {/Users/xiamyphys/Desktop/LaTeXer/hduthesis/examples/hduthesis-bc.pdf}
+ }
+ \hfill
+ \fbox
+ { \includegraphics[page = 12, width = .3\linewidth]
+ {/Users/xiamyphys/Desktop/LaTeXer/hduthesis/examples/hduthesis-bc.pdf}
+ }
+\end{center}
-\appendix\clearpage
+\appendix\section{模块化设计架构}
-\section{The Code}
+\linespread{1.04}
+\dirtree{%
+.1 ./tex/.
+.2 hduthesis.cls.
+.3 hduthesis-font-module.code.tex: \footnotesize 字体模块.
+.3 hduthesis-unv.layout-module.code.tex: \footnotesize 共用布局模块.
+.3 hduthesis-bc.layout-module.code.tex: \footnotesize 本科模块.
+.3 hduthesis-pg.layout-module.code.tex: \footnotesize 硕士布局模块.
+.3 hduthesis-preamble-module.code.tex: \footnotesize 中英摘要模块.
+.2 hdulogo.pdf: \footnotesize 校徽.
+.2 hdubadge.pdf: \footnotesize 校牌.
+.2 hdumotto.pdf: \footnotesize 校训.
+}
-\textsc{\cls{HduThesis}} 文档类采用模块化设计,根文件 \file{hduthesis.cls} 中
-\cs{key_define:} 用于声明文档信息的键,并调用其他模块.
-
-\begin{enumerate}
- \item 字体配置模块存放于 \file{hduthesis-font-module.code.tex} 中.
- \item 封面信息模块存放于 \file{hduthesis-cover-module.code.tex} 中,
- 分别使用 \cs{l_spread_box} 和 \cs{l_center_box} 实现分散对齐和居中划线.
- \item 中英摘要模块存放于 \file{hduthesis-matter-module.code.tex} 中,
- 使用 \cs{str_if_eq:nnT} 对摘要语言进行判断.
- \item 章节段落模块存放于 \file{hduthesis-layout-module.code.tex} 中,
- 参照\emph{标准文档类}说明文档 (\cmd{texdoc classes}),对相应的宏进行重新定义.
- 后期维护者可考虑使用 \pkg{titlesec} 包.
-\end{enumerate}
-
-\begin{framed}
- \begin{verbatim}
- \keys_define:nn { hduthesis / docinfo }% 声明相应键
- {
- title.tl_set:N = \l__docinfo_title_tl,
- school.tl_set:N = \l__docinfo_school_tl,
- major.tl_set:N = \l__docinfo_major_tl,
- class.tl_set:N = \l__docinfo_class_tl,
- stdntid.tl_set:N = \l__docinfo_stdntid_tl,
- author.tl_set:N = \l__docinfo_author_tl,
- supervisor.tl_set:N = \l__docinfo_supervisor_tl,
- reference.tl_set:N = \l__docinfo_reference_tl,
- }
-
- \NewDocumentCommand \DocInfo { m }
- {
- \keys_set:nn { hduthesis / docinfo } { #1 }
- }
-
- % 预留学号接口,用于后续判断学位.
- % \int_compare:nNnT {\tl_count:N \l__docinfo_stdntid_tl} = {8} { }
- % \int_compare:nNnTF {\tl_count:N \l__docinfo_stdntid_tl} = {10} { }
- \end{verbatim}
-\end{framed}
-
\end{document}
Modified: trunk/Master/texmf-dist/doc/xelatex/hduthesis/reference.bib
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/hduthesis/reference.bib 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/doc/xelatex/hduthesis/reference.bib 2024-10-08 20:00:50 UTC (rev 72497)
@@ -58,7 +58,8 @@
title={光电检测技术},
author={高稚允 and 高岳},
year={1995},
- publisher={国防工业出版社}
+ publisher={国防工业出版社},
+ pages={172--212}
}
@book{cn8,
@@ -66,6 +67,7 @@
author={江月松 and 阎平 and 刘振玉},
publisher={光电技术与实验},
year={2000},
+ pages={119--152}
}
@book{cn9,
@@ -73,6 +75,7 @@
author={W.G},
publisher={集成运算放大器应用手册},
year={1990},
+ pages={3--72}
}
@book{cn10,
Deleted: trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-bc.cover-module.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-bc.cover-module.code.tex 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-bc.cover-module.code.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -1,122 +0,0 @@
-\hduthesis_provide_module:n {bc.cover}
-
-\RequirePackage{array}
-\cs_new_protected:Npn \l_spread_box:nn #1#2
- {
- \mode_leave_vertical:
- \hbox_to_wd:nn {#1}
- { \tl_map_inline:Nn {#2} { ##1 \hfil } \unskip }
- }
-\cs_new_protected:Npn \l_center_box:nn #1#2
- {
- \mode_leave_vertical:
- \dim_set:Nn \l_tmpa_dim {#1}
- \dim_add:Nn \l_tmpa_dim {0.6em}
- \makebox[0cm][l]{\rule[-.8ex]{\l_tmpa_dim}{.5 pt}}
- {\hbox_to_wd:nn {\l_tmpa_dim} { \hfil #2 \hfil }}
- }
-\int_new:N \l__hduthesis_grade_int
-\int_set:Nn \l__hduthesis_grade_int
-{
- \int_compare:nNnTF {\c_sys_month_int} < 9
- {\c_sys_year_int} {\int_eval:n {\c_sys_year_int+1}}
-}
-\cs_new_protected_nopar:Nn \__hduthesis_cover_page_aux:
-{
- \begin{center}
- \vspace*{1.8\baselineskip}
- \includegraphics{hdubadge}
- \par\vspace*{2\baselineskip}
- \scalebox{3.2}
- {\textbf
- {
- \l_spread_box:nn {\fp_eval:n{1/4.1}\linewidth} {本科毕业设计}
- }
- }
- \par\vspace*{1.3\baselineskip}
- {
- \LARGE(\int_if_exist_use:N \l__hduthesis_grade_int\bfseries 届)
- }
- \par\vspace*{4\baselineskip}
- \begin{tabular}
- {
- >{\large\bfseries}p{5.5\ccwd}@{}
- >{\large\centering\arraybackslash\kaishu}p{.65\linewidth}
- }
- 题\qquad 目 &
- \l_center_box:nn{.93\linewidth}
- {
- \l__docinfo_title_tl
- }\\[5.8ex]
- 学\qquad 院 &
- \l_center_box:nn{.93\linewidth}
- {
- \l__docinfo_school_tl
- }\\[5.8ex]
- 专\qquad 业 &
- \l_center_box:nn{.93\linewidth}
- {
- \l__docinfo_major_tl
- }\\[5.8ex]
- 班\qquad 级 &
- \l_center_box:nn{.93\linewidth}
- {
- \l__docinfo_class_tl
- }\\[5.8ex]
- 学\qquad 号 &
- \l_center_box:nn{.93\linewidth}
- {
- \l__docinfo_stdntid_tl
- }\\[5.8ex]
- 学生姓名 &
- \l_center_box:nn{.93\linewidth}
- {
- \l__docinfo_author_tl
- }\\[5.8ex]
- 指导教师 &
- \l_center_box:nn{.93\linewidth}
- {
- \l__docinfo_supervisor_tl
- }\\[5.8ex]
- 完成日期 &
- \l_center_box:nn{.93\linewidth}{
- \textsf{\int_use:N \c_sys_year_int} 年
- \textsf{\int_use:N \c_sys_month_int} 月
- }
- \end{tabular}
- \end{center}
-}
-
-\cs_new_protected_nopar:Nn \__hduthesis_cover_promise_aux:
- {
- \vspace*{3.5\baselineskip}
- \begin{center}
- \@beginparpenalty\@lowpenalty
- \Large\textsf{\bfseries \l_spread_box:nn {6\ccwd}{诚信承诺}}
- \@endparpenalty\@M
- \end{center}
- \vspace*{.6\baselineskip}\par
- \linespread{2.1}
- {\semilarge
- 我谨在此承诺:本人所写的毕业论文《\l__docinfo_title_tl》
- 均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,
- 若有不实,后果由本人承担。\par\vspace*{\baselineskip}
- \l_spread_box:nn {.48\linewidth}{}
- \textsf{\bfseries 承诺人(签名):}
- \vspace*{.5\baselineskip}\par
- \l_spread_box:nn {.48\linewidth+2em}{}
- \textsf{\bfseries 年\qquad 月\qquad 日}
- }
- }
-
-\RenewDocumentCommand \maketitle {}
- {
- \begin{titlepage}
- \__hduthesis_cover_page_aux:
- \end{titlepage}
- \titlepage
- \__hduthesis_cover_promise_aux:
- \endtitlepage
- }
-
-\endinput
\ No newline at end of file
Added: trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-bc.layout-module.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-bc.layout-module.code.tex (rev 0)
+++ trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-bc.layout-module.code.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -0,0 +1,149 @@
+\hduthesis_provide_module:n {bc.layout}
+\makeatletter
+
+\geometry { top = 3.25cm, bottom = 2.4cm, left = 4cm, right = 2cm,
+ headheight = 15pt, headsep = .72cm }
+\tl_if_eq:NnTF \l__docinfo_entitle_tl {毕业设计}
+{ \chead{\raisebox{.12ex}{\small 杭州电子科技大学本科毕业设计}} }
+{
+ \tl_if_eq:NnTF
+ \l__docinfo_entitle_tl {毕业论文}
+ { \chead{\raisebox{.12ex}{\small 杭州电子科技大学本科毕业论文}} }
+ { \chead{\raisebox{.12ex}{\small 杭州电子科技大学本科毕业设计}} }
+}\lhead{}\rhead{}
+
+\int_new:N \l__hduthesis_grade_int
+\int_set:Nn \l__hduthesis_grade_int
+ {
+ \int_compare:nNnTF {\c_sys_month_int} < 9
+ {\c_sys_year_int} {\int_eval:n {\c_sys_year_int+1}}
+ }
+\cs_new_protected_nopar:Nn \__hduthesis_cover_bc_aux:
+ {
+ \begin{center}
+ \vspace*{1.8\baselineskip}
+ \includegraphics{hdubadge}
+ \par\vspace*{2\baselineskip}
+ \scalebox{3.2}
+ {
+ \tl_if_eq:NnTF
+ \l__docinfo_entitle_tl {毕业设计}
+ { \textbf { \l_spread_box:nn {.191\paperwidth} {本科毕业设计} }}
+ {
+ \tl_if_eq:NnTF
+ \l__docinfo_entitle_tl {毕业论文}
+ { \textbf { \l_spread_box:nn {.191\paperwidth} {本科毕业论文} }}
+ { \textbf { \l_spread_box:nn {.191\paperwidth} {本科毕业设计} }}
+ }
+ }
+ \par\vspace*{1.3\baselineskip}
+ {
+ \LARGE(\int_use:N \l__hduthesis_grade_int\bfseries 届)
+ }
+ \par\vspace*{4\baselineskip}
+ \begin{tabular}
+ {
+ >{\large\bfseries}p{5.5\ccwd}@{}
+ >{\large\centering\arraybackslash\kaishu}p{.65\linewidth}
+ }
+ 题\qquad 目 &
+ \l_center_box:nn { .95\linewidth }
+ { \l__docinfo_cntitle_tl }\\[5.4ex]
+ 学\qquad 院 &
+ \l_center_box:nn { .95\linewidth }
+ { \l__docinfo_school_tl }\\[5.4ex]
+ 专\qquad 业 &
+ \l_center_box:nn { .95\linewidth }
+ { \l__docinfo_major_tl }\\[5.4ex]
+ 班\qquad 级 &
+ \l_center_box:nn { .95\linewidth }
+ { \l__docinfo_class_tl }\\[5.4ex]
+ 学\qquad 号 &
+ \l_center_box:nn { .95\linewidth }
+ { \l__docinfo_stdntid_tl }\\[5.4ex]
+ 学生姓名 &
+ \l_center_box:nn { .95\linewidth }
+ { \l__docinfo_cnauthor_tl }\\[5.4ex]
+ 指导教师 &
+ \l_center_box:nn { .95\linewidth }
+ { \l__docinfo_cnsupervisor_tl }\\[5.4ex]
+ 完成日期 &
+ \l_center_box:nn { .95\linewidth }
+ {
+ \textsf{\int_use:N \c_sys_year_int} 年
+ \textsf{\int_use:N \c_sys_month_int} 月
+ }
+ \end{tabular}
+ \end{center}
+ }
+
+\cs_new_protected_nopar:Nn \__hduthesis_promise_bc_aux:
+ {
+ \vspace*{3.5\baselineskip}
+ \begin{center}
+ \@beginparpenalty\@lowpenalty
+ \Large\textsf{\bfseries \l_spread_box:nn {6\ccwd}{诚信承诺}}
+ \@endparpenalty\@M
+ \end{center}
+ \vspace*{.6\baselineskip}\par
+ \linespread{2.1}
+ {\semilarge
+ 我谨在此承诺:本人所写的毕业论文《\l__docinfo_cntitle_tl》均系本人独立完成,
+ 没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。
+ \par\vspace*{\baselineskip} \bfseries\sffamily
+ \hskip.48\linewidth 承诺人(签名):
+ \vspace*{.5\baselineskip}\par
+ \hskip \dim_eval:n{.48\linewidth+2em} 年\qquad 月\qquad 日
+ }
+ }
+
+\RenewDocumentCommand \maketitle {}
+ {
+ \newgeometry{left = 4cm, right = 2cm, top = 1cm, bottom = 1cm}
+ \begin{titlepage}
+ \__hduthesis_cover_bc_aux:
+ \end{titlepage}
+ \titlepage
+ \__hduthesis_promise_bc_aux:
+ \endtitlepage
+ \restoregeometry
+ }
+
+\def\@makechapterhead#1
+ {
+ \vspace*{-15\p@}%
+ {\parindent \z@ \centering \sffamily
+ \large \thechapter \quad #1
+ \par\nobreak
+ \vskip 24\p@ \par\nobreak
+ }
+ \thispagestyle{fancy}
+ }
+\def\@makeschapterhead#1
+ {
+ \vspace*{-15\p@}%
+ {\parindent \z@ \raggedright
+ \centering \sffamily
+ \interlinepenalty\@M
+ \large \bfseries #1\par\nobreak
+ \vskip 24\p@
+ }
+ \tl_set:Nn \l__toc_schapter_tl {#1}
+ \addcontentsline{toc}{chapter}{\l__toc_schapter_tl}
+ \thispagestyle{fancy}
+ }
+\renewcommand\section
+ {
+ \vspace*{-2.5ex}
+ \@startsection {section}{1}{\z@}%
+ {0ex}{.1pt}{\sffamily\semilarge}
+ }
+\renewcommand\subsection
+ {
+ \vspace*{-1.8ex}
+ \@startsection {subsection}{1}{\z@}%
+ {0ex}{.1pt}{\sffamily}
+ }
+
+\makeatother
+\endinput
Property changes on: trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-bc.layout-module.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-font-module.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-font-module.code.tex 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-font-module.code.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -1,44 +1,29 @@
\hduthesis_provide_module:n {font}
+\PassOptionsToPackage{quiet,no-math}{xeCJK}
\RequirePackage[zihao = -4]{ctex}
\linespread{1.39}
-\setlength{\parindent}{2\ccwd}
+\dim_set:Nn \parindent {2\ccwd}
+\newcommand\semilarge{\@setfontsize\semilarge{14}{16.5}}
+\newcommand\semiLarge{\@setfontsize\semiLarge{16.5}{18}}
+
\setmainfont{texgyretermes}
[
- UprightFont = *-regular,
- BoldFont = *-bold,
- ItalicFont = *-italic,
- BoldItalicFont = *-bolditalic,
- Extension = .otf
+ Extension = .otf, UprightFont = *-regular, BoldFont = *-bold,
+ ItalicFont = *-italic, BoldItalicFont = *-bolditalic
]
\setsansfont{texgyreheros}
[
- UprightFont = *-regular,
- BoldFont = *-bold,
- ItalicFont = *-italic,
- BoldItalicFont = *-bolditalic,
- Extension = .otf,
- scale = .9
+ Extension = .otf, scale = .9, UprightFont = *-regular, BoldFont = *-bold,
+ ItalicFont = *-italic, BoldItalicFont = *-bolditalic,
]
-\newcommand\semilarge
- {
- \@setfontsize\semilarge{14}{16.5}
- }
-
-\RequirePackage
-{
- amsmath, amssymb, mathtools, extarrows,
- bm, cancel, physics2, fixdif, derivative
-}
+\RequirePackage { amsmath, amssymb, mathtools, extarrows,
+ bm, cancel, physics2, fixdif, derivative }
\usephysicsmodule{ab, braket, ab.legacy, op.legacy}
-
-\renewcommand\theequation{\arabic{chapter}-\arabic{equation}}
\AtBeginDocument{
- \setlength{\abovedisplayshortskip}{-18pt}
- \setlength{\abovedisplayskip}{6pt}
- \setlength{\belowdisplayshortskip}{6pt}
- \setlength{\belowdisplayskip}{6pt}
+ \dim_set:Nn \abovedisplayskip {3pt}
+ \dim_set:Nn \belowdisplayskip {3pt}
}
-\endinput
\ No newline at end of file
+\endinput
Deleted: trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-layout-module.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-layout-module.code.tex 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-layout-module.code.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -1,75 +0,0 @@
-\hduthesis_provide_module:n {layout}
-
-\def\@makechapterhead#1
- {
- \vspace*{-13\p@}%
- {
- \parindent \z@ \centering \sffamily
- \large \thechapter \quad #1
- \par\nobreak
- \vskip 25\p@ \par\nobreak
- }
- \thispagestyle{fancy}
- }
-\def\@makeschapterhead#1
- {
- \vspace*{-13\p@}%
- {
- \parindent \z@ \raggedright
- \centering \sffamily
- \interlinepenalty\@M
- \large \bfseries #1\par\nobreak
- \vskip 25\p@
- }
- \tl_set:Nn \l__toc_schapter_tl {#1}
- \addcontentsline{toc}{chapter}{\l__toc_schapter_tl}
- \thispagestyle{fancy}
- }
-\renewcommand\section
- {
- \vspace*{-2.9ex}
- \@startsection {section}{1}{\z@}%
- {0ex}%
- {.1pt}%
- {\sffamily\semilarge}
- }
-\renewcommand\subsection
- {\vspace*{-1.9ex}
- \@startsection {subsection}{1}{\z@}%
- {0ex}%
- {.1pt}%
- {\sffamily}
- }
-
-\RequirePackage{geometry, enumitem, booktabs, fancyhdr}
-\geometry
- {
- top = 3.25cm, bottom = 2cm, left = 4cm, right = 2cm,
- headheight = 15pt, headsep = .72cm
- }
-\chead{\raisebox{.12ex}{\small 杭州电子科技大学本科毕业设计(论文)}}
-\lhead{}\rhead{}
-\pagestyle{fancy}
-\RequirePackage{multicol, cleveref}
-\crefformat{figure}{图#2#1#3}
-\crefformat{table}{表#2#1#3}
-\graphicspath
- {
- {./figure/}{./figures/}{./image/}{./images/}
- {./graphics/}{./graphic/}{./pictures/}{./picture/}
- }
-\RequirePackage[skip = .5ex, labelsep = quad, font = small]{caption}
-\renewcommand{\thefigure}{\arabic{chapter}-\arabic{figure}}
-\renewcommand{\thetable}{\arabic{chapter}-\arabic{table}}
-\AddToHook{env/figure/after}{\vskip-1.5em}
-\AddToHook{env/table/before}{\vskip-1em}
-\AddToHook{env/table/after}{\vskip-2ex}
-\setlist[enumerate,1]
-{
- label = (\arabic*), itemindent = 4.5em, leftmargin = 0em,
- labelsep = 0em, topsep = 0pt, itemsep = 0pt, partopsep = 0em,
- parsep = 0em, listparindent = 2\ccwd
-}
-\AddToHook{env/enumerate/after}{\vspace*{.1ex}}
-
-\endinput
\ No newline at end of file
Deleted: trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-matter-module.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-matter-module.code.tex 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-matter-module.code.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -1,69 +0,0 @@
-\hduthesis_provide_module:n {matter}
-
-\tl_new:N \l__abstract_name_tl
-\RenewDocumentEnvironment {abstract} { O{en} }
- {
- \str_if_eq:nnT {#1} {en}
- {
- \tl_set:Nn \l__keywords_name_tl {Keywords:~}
- \tl_set:Nn \l__keywords_sep_tl {;~}
- }
- \str_if_eq:nnT {#1} {cn}
- {
- \tl_set:Nn \l__keywords_name_tl {\textsf{关键词:}}
- \tl_set:Nn \l__keywords_sep_tl {;}
- }
- \vspace*{-\baselineskip}
- \@beginparpenalty\@lowpenalty
- \begin{center}%
- \bfseries\large
- \str_if_eq:nnT {#1} {en} {ABSTRACT}
- \str_if_eq:nnT {#1} {cn} {\textsf{摘\qquad 要}}
- \@endparpenalty\@M
- \end{center}%
- \vspace*{.7\baselineskip}
- }
- {
- \par\null
- \tl_clear:N \l__abstract_name_tl
- \cfoot{}\clearpage
- }
-
-\clist_new:N \l__abstract_keywords_clist
-\NewDocumentCommand \keywords { m }
- {
- \vspace*{\baselineskip}
- \noindent\textbf{\l__keywords_name_tl}
- \clist_set:Nn \l__abstract_keywords_clist {#1}
- \clist_use:Nn \l__abstract_keywords_clist {\l__keywords_sep_tl}
- }
-
-\newcommand\frontmatter
-{
- \clearpage
- \pagenumbering{Roman}
- \cfoot{}
-}
-\newcommand\mainmatter
-{
- \clearpage
- \pagenumbering{arabic}
- \cfoot \thepage
-}
-\AddToHook{cmd/tableofcontents/after}{\thispagestyle{fancy}}
-
-\RequirePackage{tocloft}
-\renewcommand{\contentsname}{\hfill 目\qquad 录\hfill}
-\renewcommand \cfttoctitlefont{\sffamily\large}
-\dim_set:Nn \cftbeforetoctitleskip {3pt}
-\dim_set:Nn \cftaftertoctitleskip {24pt}
-\dim_set:Nn \cftbeforechapskip {1pt}
-\dim_set:Nn \cftbeforesecskip {-.2pt}
-\renewcommand*\l at chapter{\@dottedtocline{1}{0em}{1.6em}}
-\renewcommand*\l at section{\@dottedtocline{1}{2.3em}{2.1em}}
-\renewcommand*{\@dotsep}{1.7}
-\renewcommand*{\@pnumwidth}{2.5ex}
-\renewcommand{\cftchapfont}{\normalfont}
-\setcounter{tocdepth}{1}
-
-\endinput
\ No newline at end of file
Added: trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-pg.layout-module.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-pg.layout-module.code.tex (rev 0)
+++ trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-pg.layout-module.code.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -0,0 +1,149 @@
+\hduthesis_provide_module:n {bc.layout}
+\makeatletter
+
+\geometry { top = 2.75cm, bottom = 2cm, left = 3.2cm, right = 3.2cm,
+ headheight = 15pt, headsep = .72cm }
+\chead{\raisebox{.12ex}{\small 杭州电子科技大学硕士学位论文}}\lhead{}\rhead{}
+
+\cs_new_protected_nopar:Nn \__hduthesis_cover_pg_aux:
+ {
+ \begin{center}
+ \vspace*{4\p@}
+ \includegraphics[scale = 1.6]{hdubadge}\par\vspace*{40\p@}
+ { \LARGE\l_spread_box:nn {.575\linewidth} {硕士学位论文} }
+ \par\vspace*{98\p@}
+ \semiLarge 题\qquad 目:
+ \l_center_box:nn { .75\linewidth } { \kaishu \l__docinfo_cntitle_tl }
+ \vspace*{21\p@}\par
+ \begin{tabular}
+ { >{\semiLarge\bfseries}p{4\ccwd}@{}
+ >{\semiLarge\centering\arraybackslash\kaishu}p{.65\linewidth} }
+ \l_spread_box:nn { 4\ccwd } { 研究生 } &
+ \l_center_box:nn { .96\linewidth }
+ { \seq_item:Nn \l__author_tmp_seq {1} }\\[.8ex]
+ \l_spread_box:nn { 4\ccwd } { 专业 } &
+ \l_center_box:nn { .96\linewidth } { \l__docinfo_major_tl }\\[.8ex]
+ \l_spread_box:nn { 4\ccwd } { 指导教师 } &
+ \l_center_box:nn { .96\linewidth }
+ { \l__docinfo_cnsupervisor_tl\qquad 教授 }\\[13.5ex]
+ \l_spread_box:nn { 4\ccwd } { 完成日期 } &
+ \l_center_box:nn { .96\linewidth }
+ { \textsf{\int_use:N \c_sys_year_int} 年
+ \textsf{\int_use:N \c_sys_month_int} 月
+ }
+ \end{tabular}
+ \end{center}
+ }
+
+\cs_new_protected_nopar:Nn \__hduthesis_cnoverleaf_pg_aux:
+ {
+ \begin{center}
+ \vspace*{25\p@}{
+ \LARGE 杭州电子科技大学硕士学位论文}
+ \vspace*{142\p@}\par
+ \begin{spacing}{1.15}
+ \huge\textsf{\l__docinfo_cntitle_tl}
+ \end{spacing}
+ \vspace*{130\p@}\par
+ \begin{tabular}{>{\large}p{7\ccwd}@{}>{\large\kaishu}p{.43\linewidth}}
+ \l_spread_box:nn { 4em } {研究生}:&
+ \l_spread_box:nn { 5\ccwd } { \l__docinfo_cnauthor_tl }\\[2ex]
+ \l_spread_box:nn { 4em } {指导教师}:&
+ \l_spread_box:nn { 5\ccwd }
+ { \l__docinfo_cnsupervisor_tl } \qquad 教授\\[11ex] &
+ \quad \textsf{\int_use:N \c_sys_year_int} 年
+ \textsf{\int_use:N \c_sys_month_int} 月
+ \end{tabular}
+ \end{center}
+ }
+
+\cs_new_protected_nopar:Nn \__hduthesis_enoverleaf_pg_aux:
+ {
+ \begin{center}
+ \vspace*{30\p@}{\bfseries
+ Dissertation~Submitted~to~Hangzhou~Dianzi~University\\[.8ex]
+ for~the~Degree~of~Master}
+ \vspace*{134\p@}\par
+ \parbox[t][208\p@]{\linewidth}
+ {\centering
+ \begin{spacing}{1.08}
+ \huge\bfseries\l__docinfo_entitle_tl
+ \end{spacing}
+ }\par
+ \begin{tabular}
+ { >{\bfseries\large}p{7.5\ccwd}@{}
+ >{\bfseries\large}p{.32\linewidth}
+ }
+ \l_spread_box:nn { 4.65em } {Candidate}: &
+ \l__docinfo_enauthor_tl\\[3.5ex]
+ \l_spread_box:nn { 4.65em } {Supervisor}: &
+ Prof.~\l__docinfo_ensupervisor_tl\\[11ex]
+ \end{tabular}
+ \vspace*{6\p@}\par
+ \bfseries\clist_item:Nn
+ \g_system_month_clist {\int_use:N \c_sys_month_int},~
+ \int_use:N \c_sys_year_int
+ \end{center}
+ }
+
+\cs_new_protected_nopar:Nn \__hduthesis_promise_pg_aux:
+ {
+ \vspace*{-6\p@}
+ \begin{center}
+ \large
+ 杭州电子科技大学\\[1ex] 学位论文原创性声明和使用授权说明
+ \end{center}
+ \vspace*{19\p@}
+ \begin{center}
+ \semilarge 原创性声明
+ \end{center}
+ \vspace*{.4\baselineskip}\par
+ \begin{spacing}{1.65}
+ 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。
+ 除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。
+ 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。\par
+ \noindent 申请学位论文与资料若有不实之处,本人承担一切相关责任。
+ \par\vspace*{.9\baselineskip}
+ \noindent \makebox[.45\linewidth][l]{论文作者签名:}
+ 日期:\qquad 年\qquad 月\qquad 日
+ \par\vspace*{.9\baselineskip}
+ \begin{center}
+ \semilarge 学位论文使用授权说明
+ \end{center}
+ \vspace*{.7\baselineskip}\par
+ \begin{spacing}{1.65}
+ 本人完全了解杭州电子科技大学关于保留和使用学位论文的规定,
+ 即:研究生在校攻读学位期间论文工作的知识产权单位属杭州电子科技大学。
+ 本人保证毕业离校后,发表论文或使用论文工作成果时署名单位仍然为杭州电子科技大学。
+ 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容,
+ 可以允许采用影印、缩印或其它复制手段保存论文。(保密论文在解密后遵守此规定)
+ \par\vspace*{2\baselineskip}
+ \noindent \makebox[.45\linewidth][l]{论文作者签名:}
+ 日期:\qquad 年\qquad 月\qquad 日
+ \par\vspace*{\baselineskip}
+ \noindent \makebox[.45\linewidth][l]{指导教师签名:}
+ 日期:\qquad 年\qquad 月\qquad 日
+ \end{spacing}
+ \end{spacing}
+ }
+
+\RenewDocumentCommand \maketitle {}
+ {
+ \newgeometry{margin = 2.75cm}
+ \begin{titlepage}
+ \__hduthesis_cover_pg_aux:
+ \end{titlepage}
+ \titlepage
+ \__hduthesis_cnoverleaf_pg_aux:
+ \endtitlepage
+ \titlepage
+ \__hduthesis_enoverleaf_pg_aux:
+ \endtitlepage
+ \titlepage
+ \__hduthesis_promise_pg_aux:
+ \endtitlepage
+ \restoregeometry
+ }
+
+\makeatother
+\endinput
Property changes on: trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-pg.layout-module.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-preamble-module.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-preamble-module.code.tex (rev 0)
+++ trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-preamble-module.code.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -0,0 +1,69 @@
+\hduthesis_provide_module:n {preamble}
+
+\RenewDocumentEnvironment {abstract} { O{en} }
+ {
+ \str_if_eq:nnT {#1} {en}
+ {
+ \tl_set:Nn \l__keywords_name_tl {Keywords:~}
+ \tl_set:Nn \l__keywords_sep_tl {;~}
+ }
+ \str_if_eq:nnT {#1} {cn}
+ {
+ \tl_set:Nn \l__keywords_name_tl {\textsf{关键词:}}
+ \tl_set:Nn \l__keywords_sep_tl {;}
+ }
+ \vspace*{-27\p@}
+ \@beginparpenalty\@lowpenalty
+ \begin{center}%
+ \bfseries\large
+ \str_if_eq:nnT {#1} {en} {ABSTRACT}
+ \str_if_eq:nnT {#1} {cn} {\textsf{摘\qquad 要}}
+ \@endparpenalty\@M
+ \end{center}%
+ \vspace*{.7\baselineskip}
+ }
+ {
+ \par\null
+ \tl_clear:N \l__abstract_name_tl
+ \cfoot{}
+ \clearpage
+ }
+
+\clist_new:N \l__abstract_keywords_clist
+\NewDocumentCommand \keywords { m }
+ {
+ \vspace*{\baselineskip}
+ \noindent\textbf{\l__keywords_name_tl}
+ \clist_set:Nn \l__abstract_keywords_clist {#1}
+ \clist_use:Nn \l__abstract_keywords_clist {\l__keywords_sep_tl}
+ }
+
+\newcommand\frontmatter
+{
+ \clearpage
+ \pagenumbering{Roman}
+ \cfoot{}
+}
+\newcommand\mainmatter
+{
+ \clearpage
+ \pagenumbering{arabic}
+ \cfoot \thepage
+}
+
+\AddToHook{cmd/tableofcontents/after}{\thispagestyle{fancy}}
+\RequirePackage{tocloft}
+\renewcommand{\contentsname}{\hfill 目\qquad 录\hfill}
+\renewcommand \cfttoctitlefont{\sffamily\large}
+\dim_set:Nn \cftbeforetoctitleskip {3pt}
+\dim_set:Nn \cftaftertoctitleskip {24pt}
+\dim_set:Nn \cftbeforechapskip {1pt}
+\dim_set:Nn \cftbeforesecskip {-.2pt}
+\renewcommand*\l at chapter{\@dottedtocline{1}{0em}{1.6em}}
+\renewcommand*\l at section{\@dottedtocline{1}{2.3em}{2.1em}}
+\renewcommand*{\@dotsep}{1.7}
+\renewcommand*{\@pnumwidth}{2.5ex}
+\renewcommand{\cftchapfont}{\normalfont}
+\setcounter{tocdepth}{1}
+
+\endinput
Property changes on: trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-preamble-module.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-unv.layout-module.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-unv.layout-module.code.tex (rev 0)
+++ trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-unv.layout-module.code.tex 2024-10-08 20:00:50 UTC (rev 72497)
@@ -0,0 +1,59 @@
+\hduthesis_provide_module:n {unv.layout}
+
+\RequirePackage{geometry, fancyhdr, array, setspace, titlesec}
+\pagestyle{fancy}
+
+\cs_new_protected:Npn \l_spread_box:nn #1#2
+ {
+ \mode_leave_vertical:
+ \hbox_to_wd:nn {#1}
+ { \tl_map_inline:Nn {#2} { ##1 \hfil } \unskip }
+ }
+\cs_new_protected:Npn \l_center_box:nn #1#2
+ {
+ \mode_leave_vertical:
+ \dim_set:Nn \l_tmpa_dim {#1}
+ \global\setbox1=\box\voidb at x
+ {\setbox0=\vbox{
+ \dim_set:Nn \hsize {#1}\relax
+ \dim_set:Nn \parindent {0pt}
+ \skip_set:Nn \leftskip {0pt plus 1fil}
+ \skip_set:Nn \rightskip {0pt plus -1fil}
+ \skip_set:Nn \parfillskip {0pt plus 2fil}
+ #2\par
+ \loop
+ \setbox2=\lastbox
+ \unless\ifvoid2
+ \global\setbox1=\vtop{\hbox to\hsize{\strut\unhbox2}
+ \vskip-3.6pt \hrule height .8pt
+ \vskip9.6pt \unvbox1}
+ \unskip\unpenalty
+ \repeat
+ }}
+ \box1
+ }
+
+\RequirePackage[skip = 1em, labelsep = quad, font = small]{caption}
+\renewcommand{\thefigure}{\arabic{chapter}-\arabic{figure}}
+\renewcommand{\thetable}{\arabic{chapter}-\arabic{table}}
+\renewcommand{\theequation}{\arabic{chapter}-\arabic{equation}}
+\AddToHook{env/figure/after}{\vspace*{-2.3ex}}
+\AddToHook{env/table/after}{\vskip-1.9ex}
+
+\RequirePackage{enumitem, cleveref}
+\setlist[enumerate,1]
+{
+ label = (\arabic*), itemindent = 4.5em, leftmargin = 0em,
+ labelsep = 0em, topsep = .15ex, itemsep = 0em, partopsep = 0em,
+ parsep = 0em, listparindent = 2\ccwd
+}
+\AddToHook{env/enumerate/after}{\vspace*{.1ex}}
+\crefformat{figure}{图#2#1#3}
+\crefformat{table}{表#2#1#3}
+\graphicspath
+ {
+ {./figure/}{./figures/}{./image/}{./images/}
+ {./graphics/}{./graphic/}{./pictures/}{./picture/}
+ }
+
+\endinput
Property changes on: trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis-unv.layout-module.code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis.cls
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis.cls 2024-10-08 20:00:25 UTC (rev 72496)
+++ trunk/Master/texmf-dist/tex/xelatex/hduthesis/hduthesis.cls 2024-10-08 20:00:50 UTC (rev 72497)
@@ -1,38 +1,29 @@
-%% *********************************************************************
-%% Copyright 2024 by M.Y. XIA <xiamyphys at gmail.com> *
-%% *
-%% This work may be distributed and/or modified under the *
-%% conditions of the LaTeX Project Public License *
-%% *
-%% http://www.latex-project.org/lppl.txt *
-%% *
-%% either version 1.3c of this license or any later version. *
-%% *
-%% This work has the LPPL maintenance status `maintained'. *
-%% *
-%% The Current Maintainers of this work is M.Y. XIA *
-%% *
-%% This work consists of the files hduthesis.cls, *
-%% hduthesis-font-module.code, *
-%% hduthesis-bc.cover-module.code, *
-%% hduthesis-matter-module.code, *
-%% hduthesis-layout-module.code, *
-%% and README.md. *
-%% available at https://github.com/xiamyphys/hduthesis *
-%% *********************************************************************
-\def\hduthesis at date{2024/10/05}
-\def\hduthesis at version{0.1.1}
+%% ***********************************************************************
+%% Copyright 2024 by M.Y. XIA <xiamyphys at gmail.com> *
+%% *
+%% This work may be distributed and/or modified under the conditions *
+%% of the LaTeX Project Public License *
+%% *
+%% http://www.latex-project.org/lppl.txt *
+%% *
+%% either version 1.3c of this license or any later version. *
+%% *
+%% This work has the LPPL maintenance status `maintained'. *
+%% *
+%% The Current Maintainers of this work is M.Y. XIA *
+%% *
+%% This work consists of the files hduthesis.cls, *
+%% hduthesis-font-module.code, *
+%% hduthesis-bc.layout-module.code, *
+%% hduthesis-pg.layout-module.code, *
+%% hduthesis-preamble-module.code, *
+%% hduthesis-unv.layout-module.code, *
+%% and README.md. *
+%% available at https://github.com/xiamyphys/hduthesis *
+%% ***********************************************************************
+\def\hduthesis at date{2024/10/08}
+\def\hduthesis at version{0.2.0}
-\ExplSyntaxOn
-\cs_new_protected_nopar:Npn \hduthesis_provide_module:n #1
- {
- \ProvidesExplFile{hduthesis-#1-module.code.tex}{\hduthesis at date}{\hduthesis at version}
- {HDUThesis~ \text_titlecase:n { #1 } ~Module}
- }
-\ExplSyntaxOff
-
-\PassOptionsToPackage{quiet}{xeCJK}
-\PassOptionsToPackage{no-math}{fontspec}
\ProvidesExplClass{hduthesis} {\hduthesis at date} {\hduthesis at version}
{HDU Thesis Class}
@@ -45,6 +36,7 @@
{
The~hduthesis~module~`#1'~not~found.
}
+
\cs_new_protected_nopar:Npn \hduthesis_load_module:n #1
{
\clist_map_inline:nn { #1 }
@@ -55,36 +47,65 @@
}
}
}
+\cs_new_protected_nopar:Npn \hduthesis_provide_module:n #1
+ {
+ \ProvidesExplFile{hduthesis-#1-module.code.tex}{\hduthesis at date}{\hduthesis at version}
+ {HDUThesis~ \text_titlecase:n { #1 } ~Module}
+ }
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
\ProcessOptions\relax
\LoadClass[a4paper]{report}
-\RequirePackage{siunitx, circuitikz, pgfplots, listings, lipsum, zhlipsum}
+\RequirePackage { siunitx, circuitikz, pgfplots, listings, hologo,
+ lipsum, zhlipsum, booktabs, multicol, hyperref }
\pgfplotsset{compat = newest}
+\pdfstringdefDisableCommands{
+ \def\cite#1{<#1>}
+ \def\hologoRobust#1{<#1>}
+}
-\cs_new_protected_nopar:Npn \int_if_exist_use:N #1
- {
- \int_compare:nNnT #1 > 0
- {
- \int_use:N #1
- }
- }
+\hduthesis_load_module:n { font }
+\hduthesis_load_module:n { preamble }
+\hduthesis_load_module:n { unv.layout }
\keys_define:nn { hduthesis / docinfo }
{
- title.tl_set:N = \l__docinfo_title_tl,
- school.tl_set:N = \l__docinfo_school_tl,
- major.tl_set:N = \l__docinfo_major_tl,
- class.tl_set:N = \l__docinfo_class_tl,
- stdntid.tl_set:N = \l__docinfo_stdntid_tl,
- author.tl_set:N = \l__docinfo_author_tl,
- supervisor.tl_set:N = \l__docinfo_supervisor_tl,
- reference.tl_set:N = \l__docinfo_reference_tl,
+ title.clist_set:N = \l__docinfo_title_clist,
+ school.tl_set:N = \l__docinfo_school_tl,
+ major.tl_set:N = \l__docinfo_major_tl,
+ class.tl_set:N = \l__docinfo_class_tl,
+ stdntid.tl_set:N = \l__docinfo_stdntid_tl,
+ author.clist_set:N = \l__docinfo_author_clist,
+ supervisor.clist_set:N = \l__docinfo_supervisor_clist,
+ reference.tl_set:N = \l__docinfo_reference_tl,
}
+\clist_set:Nn \g_system_month_clist
+{
+ January, February, March, April, May, June, July,
+ August, September, October, November, December
+}
\NewDocumentCommand \DocInfo { m }
{
\keys_set:nn { hduthesis / docinfo } { #1 }
+ \exp_args:NNne \seq_set_split:Nnn
+ \l__title_tmp_seq {/} {\l__docinfo_title_clist}
+ \exp_args:NNe \tl_set:Nn
+ \l__docinfo_cntitle_tl { \seq_item:Nn \l__title_tmp_seq {1} }
+ \exp_args:NNe \tl_set:Nn
+ \l__docinfo_entitle_tl { \seq_item:Nn \l__title_tmp_seq {2} }
+ \exp_args:NNne \seq_set_split:Nnn
+ \l__author_tmp_seq {/} {\l__docinfo_author_clist}
+ \exp_args:NNe \tl_set:Nn
+ \l__docinfo_cnauthor_tl { \seq_item:Nn \l__author_tmp_seq {1} }
+ \exp_args:NNe \tl_set:Nn
+ \l__docinfo_enauthor_tl { \seq_item:Nn \l__author_tmp_seq {2} }
+ \exp_args:NNne \seq_set_split:Nnn
+ \l__supervisor_tmp_seq {/} {\l__docinfo_supervisor_clist}
+ \exp_args:NNe \tl_set:Nn
+ \l__docinfo_cnsupervisor_tl { \seq_item:Nn \l__supervisor_tmp_seq {1} }
+ \exp_args:NNe \tl_set:Nn
+ \l__docinfo_ensupervisor_tl { \seq_item:Nn \l__supervisor_tmp_seq {2} }
\tl_if_empty:NTF \l__docinfo_reference_tl
{
\newcommand*\printbibliography{\chapter*{参考文献}}
@@ -91,33 +112,43 @@
\renewcommand*\cite[1]{\textsuperscript{[##1]}}
}
{
- \RequirePackage
- [
- backend = biber,
- citestyle = gb7714-2015,
- bibstyle = gb7714-2015,
- ] {biblatex}
+ \RequirePackage[sort&compress]{gbt7714}
+ \bibliographystyle{gbt7714-numerical}
+ \newcommand*\printbibliography
+ {
+ \begin{spacing}{1.11}
+ \nocite{*}
+ \bibliography{ \l__docinfo_reference_tl }
+ \end{spacing}
+ }
\AddToHook{cmd/printbibliography/before}
{
\group_begin:
- \AddToHook{cmd/@makeschapterhead/after} { \linespread{1.3} }
+ \AddToHook{cmd/@makeschapterhead/before} { \linespread{2.1} }
}
\AddToHook{cmd/printbibliography/after} { \group_end: }
- \exp_args:Nf \addbibresource { \l__docinfo_reference_tl }
}
- % \int_compare:nNnT {\tl_count:N \l__docinfo_stdntid_tl} = {8}
- % {
- % \hduthesis_load_module:n { bc.cover }
- % }
- % \int_compare:nNnTF {\tl_count:N \l__docinfo_stdntid_tl} = {10}
- % {
- % \hduthesis_load_module:n { pg.cover }
- % }
+ \hypersetup
+ {
+ hidelinks, pdftitle = \l__docinfo_entitle_tl,
+ pdfproducer = hduTeX~bundle, pdfauthor = \l__docinfo_enauthor_tl,
+ }
+ \ExplSyntaxOn
+ \int_compare:nNnT {\tl_count:N \l__docinfo_stdntid_tl} = {8}
+ {
+ \hduthesis_load_module:n { bc.layout }
+ }
+ \int_compare:nNnT {\tl_count:N \l__docinfo_stdntid_tl} = {10}
+ {
+ \hduthesis_load_module:n { pg.layout }
+ }
+ \bool_if:nT
+ {
+ !\int_compare_p:nNn {\tl_count:N \l__docinfo_stdntid_tl} = {8} &&
+ !\int_compare_p:nNn {\tl_count:N \l__docinfo_stdntid_tl} = {10}
+ } { \hduthesis_load_module:n { bc.layout } }
+ \ExplSyntaxOff
}
-\hduthesis_load_module:n { font }
-\hduthesis_load_module:n { bc.cover }
-\hduthesis_load_module:n { matter }
-\hduthesis_load_module:n { layout }
\endinput
More information about the tex-live-commits
mailing list.