summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/hfutexam/hfutexam.cls
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/hfutexam/hfutexam.cls')
-rw-r--r--macros/latex/contrib/hfutexam/hfutexam.cls45
1 files changed, 23 insertions, 22 deletions
diff --git a/macros/latex/contrib/hfutexam/hfutexam.cls b/macros/latex/contrib/hfutexam/hfutexam.cls
index 4d560ba7b4..8131526917 100644
--- a/macros/latex/contrib/hfutexam/hfutexam.cls
+++ b/macros/latex/contrib/hfutexam/hfutexam.cls
@@ -7,15 +7,22 @@
% 编译模式: XeLaTeX
% 你可以任意修改或再次分发该文件
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{hfutexam}[2022/12/04 v1.5 HFUTExam document class by Zhang Shenxing]
+\ProvidesClass{hfutexam}[2022/12/07 v1.6 HFUTExam document class by Zhang Shenxing]
% 文档选项 shijuan, datizhi, cankaodaan, simple
-\newif\ifHFUT@ShiJuan\HFUT@ShiJuantrue
-\newif\ifHFUT@DaTiZhi\HFUT@DaTiZhifalse
-\newif\ifHFUT@CanKaoDaAn\HFUT@CanKaoDaAnfalse
-\newif\ifHFUT@Simple\HFUT@Simplefalse
-\DeclareOption{datizhi}{\HFUT@ShiJuanfalse\HFUT@DaTiZhitrue}
-\DeclareOption{cankaodaan}{\HFUT@ShiJuanfalse\HFUT@CanKaoDaAntrue}
-\DeclareOption{simple}{\HFUT@ShiJuanfalse\HFUT@Simpletrue}
+\newif\ifHFUT@ShiJuan
+\newif\ifHFUT@DaTiZhi
+\newif\ifHFUT@CanKaoDaAn
+\newif\ifHFUT@Simple
+\newcommand{\setalltypefalse}{%
+ \HFUT@ShiJuanfalse%
+ \HFUT@DaTiZhifalse%
+ \HFUT@CanKaoDaAnfalse%
+ \HFUT@Simplefalse
+}
+\setalltypefalse\HFUT@ShiJuantrue
+\DeclareOption{datizhi}{\setalltypefalse\HFUT@DaTiZhitrue}
+\DeclareOption{cankaodaan}{\setalltypefalse\HFUT@CanKaoDaAntrue}
+\DeclareOption{simple}{\setalltypefalse\HFUT@Simpletrue}
% 文档选项 nofangzheng
\newif\ifHFUT@Fandol\HFUT@Fandoltrue
\DeclareOption{nofangzheng}{\HFUT@Fandolfalse}
@@ -100,19 +107,6 @@
% 分栏
\setlength\columnsep{0.8cm} % 分栏间距
\columnseprule=0.5pt % 分栏线宽度
-% 填空题
-\newlength{\ltemp}
-\RequirePackage[normalem]{ulem}
-\ifHFUT@ShiJuan%
- \NewDocumentCommand\fillblank{O{3.5cm} O{0.5cm} m}{\uline{\makebox[#1]{\rule{0pt}{#2}#3}}}%
- \else\ifHFUT@DaTiZhi%
- \NewDocumentCommand\fillblank{O{3.5cm} O{1cm} m}{\uline{\makebox[#1]{\rule{0pt}{#2}#3}}}%
- \else%
- \NewDocumentCommand\fillblank{O{3.5cm} O{1cm} m}{%
- \settodepth{\ltemp}{#3}%
- \uline{\makebox[#1]{\rule{0pt}{#2}\raisebox{\ltemp}{#3}}}%
- }%
-\fi\fi
% 页眉页脚
\RequirePackage{fancyhdr}
\RequirePackage{lastpage}
@@ -240,11 +234,18 @@
\indent 4. 考生务必认真填写班级、姓名、学号等信息。}\par%
{\leavevmode\xleaders\hbox{\rule[4pt]{8pt}{0.5pt}\,}\hfill\null}%
}
-% 选择题, 根据选项内容长度自动排版
+% 填空题
+\newlength{\ltemp}
\newlength{\lxxmax}
\newlength{\lquar}
\newlength{\lhalf}
\newlength{\lfull}
+\RequirePackage[normalem]{ulem}
+\NewDocumentCommand\fillblank{O{3.5cm} O{0.5cm} m}{%
+ \settodepth{\ltemp}{#3}%
+ \uline{\makebox[#1]{\rule{0pt}{#2}\raisebox{\ltemp}{#3}}}%
+}
+% 选择题, 根据选项内容长度自动排版
\newcounter{lxxtype}
\NewDocumentCommand\xx{O{0} m m m m}{%
\setlength{\lfull}{\columnwidth}%