\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{oucgddir}[2026/10/27 v1.0 OUC exam archive checklist] %====================================================================== % oucgddir.sty —— 试卷归档目录版式包 % % 提供:gdtable 环境、\gdtitle、\gdhead、\gdno、\gditem、\gdnote % 用法见同目录 README.md %====================================================================== \RequirePackage{geometry} \RequirePackage{fontspec} \RequirePackage{xeCJK} \RequirePackage{tabularray} %====================================================================== % 一、页面 % % 表格宽 150.8105mm,比常规版心(左右各 31.75mm)宽约 4.14mm, % 故整表按纸张居中,左右各留 29.599mm。 % % totalwidth 取 150.8105mm 而非 150.636mm:tabularray 把竖线画在 % 版心边界内侧,线宽计入盒宽,故需补 0.1745mm。 %====================================================================== \geometry{ paperwidth = 210mm, paperheight = 297mm, left = 29.599mm, totalwidth = 150.8105mm, top = 25.40mm, bottom = 25.40mm, headheight = 0pt, headsep = 0pt, footskip = 17.50mm, } \setlength{\parindent}{0pt} \setlength{\parskip}{0pt} \pagestyle{empty} \input{../fonts.tex} \xeCJKsetup{PunctStyle=plain} %====================================================================== % 二、字号 % % 行距统一取字号的 1.2 倍。 % 字号用 bp 单位:pt 换算成 PDF 点会有 72/72.27 的偏差, % 写 24pt 实际排出 23.91bp。 %====================================================================== \newcommand{\gdbasefont}{% \linespread{1}\relax \fontsize{12bp}{14.4bp}\selectfont} \newcommand{\gdtitlefont}{\linespread{1}\relax\fontsize{24bp}{28.8bp}\selectfont} \newcommand{\gdheadfont} {\linespread{1}\relax\fontsize{18bp}{21.6bp}\selectfont} \newcommand{\gdnotefont} {\linespread{1}\relax\fontsize{10.45bp}{12.54bp}\selectfont} \newcommand{\gdcellfont} {\linespread{1}\relax\fontsize{12bp}{14.4bp}\selectfont} %====================================================================== % 三、表格尺寸 % % tabularray 的 wd 是内容宽,不含内边距;实际列间距 = % wd + 2×colsep + 线宽。下列取值已扣除内边距与线宽。 %====================================================================== \newcommand{\gdrule}{0.5pt} % 边框粗细 \newcommand{\gdcolsep}{1.905mm} % 单元格内边距 \newlength{\gdtblw} \setlength{\gdtblw}{150.636mm} % 表宽(含 4 根竖线与 6 处内边距) \newcommand{\gdwa}{19.0853mm} % 第 1 列内容宽 \newcommand{\gdwb}{73.3601mm} % 第 2 列内容宽 \newcommand{\gdwc}{46.2315mm} % 第 3 列内容宽 %====================================================================== % 四、表格环境 % % 3 列:序号 / 内容 / 标注 % 第 1 行表头高 20.3729mm,正文行高 13.5819mm,末行 13.9876mm %====================================================================== \newenvironment{gdtable}{% \par\begingroup \begin{tblr}[label=none]{ colspec={Q[c,m,wd=19.0853mm] Q[c,m,wd=73.3601mm] Q[c,m,wd=46.2315mm]}, colsep=1.905mm, rowsep=0pt, stretch=0, hline{1-Z}={\gdrule}, vline{1-Z}={\gdrule}, row{1}={ht=20.3729mm}, row{2-Z}={ht=13.5819mm}, row{13}={ht=13.9876mm}, }% }{% \end{tblr}\par\endgroup} %====================================================================== % 五、单元格命令 %====================================================================== \newcommand{\gdno}[1]{{\kaiti\bfseries\gdcellfont #1\normalfont}} \newcommand{\gditem}[1]{{\kaiti\gdcellfont #1\normalfont}} \newcommand{\gdheadraw}[1]{{\kaiti\bfseries\gdheadfont #1\normalfont}} \newcommand{\gdhead}[1]{\gdheadraw{#1}\par\vspace*{1.58pt}} \newcommand{\gdnote}[1]{{\kaiti\gdnotefont #1\normalfont}} % 第三列表头:上行「标注」+ 下行说明 \newcommand{\gdheadIII}{% \gdheadraw{标注}\par \vspace{6.72pt}% \gdnote{(确认存档后在此栏打√)}\par \vspace*{-2.98pt}}% %====================================================================== % 六、标题 % % 标题「归档目录」四字之间用 \gdgap 插入固定空隙。 % xeCJK 会吞掉连续半角空格,故不能用空格排版。 %====================================================================== \newlength{\gdtitleindent} \setlength{\gdtitleindent}{48.701mm} \newlength{\gdtitlegap} \setlength{\gdtitlegap}{24bp} % 字间空隙 = 1 个字宽 \newcommand{\gdgap}{\kern\gdtitlegap} \newcommand{\gdtitle}[1]{% \par\noindent \hspace*{\gdtitleindent}% {\kaiti\gdtitlefont #1\normalfont\par}} %====================================================================== % 七、垂直间距 %====================================================================== \newlength{\gdheadskip} \setlength{\gdheadskip}{9.943mm} % 标题下到表头 \newlength{\gdtopskip} \setlength{\gdtopskip}{2.7255mm} % 页顶到标题 \AtBeginDocument{\gdbasefont} \endinput