%====================================================================== % 中国海洋大学 教职工年度考核登记表 % % 编译: xelatex 年度考核登记表.tex % (跑两遍,第二遍才取到正确页码) % % 本文件刻意不含真人信息:姓名/职工号/出生年月/单位/岗位等一律用 % × 占位。填表时只改下面【第 1 节 基本信息】和【第 3 节 年度总结】。 % % 版式来源:2025 年学校下发的 Word 表(A4、表宽 158.33mm、11 列、 % 仿宋 14pt)。所有尺寸已在 ouckhtb.sty 内注明换算过程; % 要改版式请改 sty,不要在这里加 \vspace 硬撑。 %====================================================================== \documentclass[UTF8,fontset=none]{ctexart} \usepackage{ouckhtb} %====================================================================== % 1. 基本信息(填表时只改这一段) %====================================================================== \khtbyear{2025} \newcommand{\khnum}{0000000} % 职工号 % ⚠️ 占位符“×”必须包 \fangsong:它会被 fontspec 当成 ASCII 交给 % Times New Roman,而 TNR 的 × 是 1em 宽的数学符号(14pt 一格), % 9 个就是 126pt,撑破所在列。用仿宋(全角)宽度才与汉字一致。 \newcommand{\khname}{{\fangsong 张远航}} % 姓名(2 字宽) \newcommand{\khsex}{{\fangsong 男}} % 性别 \newcommand{\khbirth}{{\fangsong 1985.03}} % 出生年月 \newcommand{\khdept}{{\fangsong 信息科学与工程学部}} % 单位(学部/学院) \newcommand{\khsubdept}{{\fangsong 计算机科学与技术学院}} % 系(研究所、实验室、科室) \newcommand{\khparty}{{\fangsong 中共党员}} % 政治面貌 \newcommand{\khtitle}{{\fangsong 教授}} % 现专业技术职务 \newcommand{\khpost}{{\fangsong 教授三级}} % 所聘岗位 % 【出生年月】标签的文字。默认折成两行 —— 原因见正文 R0 那行的长注释: % 一格 15.31mm 放不下 4 个 14pt 的字(要 19.68mm),折两行才不溢出。 \newcommand{\khbirthlabel}{出生\par 年月} % 年度总结正文。多段之间用 \par 分隔。 \newcommand{\khsummary}{% 本人坚持以立德树人为根本任务,认真参加学校与学部组织的各项政治学习, 自觉把思政要求融入课堂教学,全年无师德失范情形。\par 教学工作方面,本年度主讲《数字逻辑》《机器学习与海洋应用》两门本科生 课程与《海洋大数据分析》研究生课程,合计 176 学时;指导本科毕业设计 6 人、硕士研究生 5 人;主持校级教研项目 1 项,参编教材 1 部。\par 科研工作方面,主持国家重点研发计划青年科学家项目 1 项、横向课题 1 项, 到账经费 320 万元;以第一或通讯作者发表学术论文 5 篇,其中 SCI 收录 4 篇; 授权发明专利 2 项,登记软件著作权 1 项。\par 人才培养与团队建设方面,协助学院组建海洋信息处理青年团队,指导青年 教师 2 人获校级项目资助;参与学部学科建设与本科培养方案修订工作。} %====================================================================== % 2. 表外标题 %====================================================================== \begin{document} \khtbtitle %====================================================================== % 3. 表格主体 % % ⚠️⚠️ 每个单元格都要写满,跨度不用管(已写死在 ouckhtb.sty 里): % 本表 11 个网格列、9 行,每行都老老实实写 11 个格子 + 结尾 \\ % 跨列合并由 sty 的 cell{r}{c}={c=n}{c} 声明,若某格是合并的起点, % 它后面应补 (n−1) 个空 & ,凑满 11 格。数错一位就会整体错列。 % % ⚠️⚠️⚠️ 合并格里的文字【必须】用 \khtbfit{跨度宽宏}{文字} 包起来。 % 因为 cell{r}{c}={c=n}{c} 的 {c} 是【不折行的 LR 模式】: % 文字比所跨各列合计更宽时,它不会折行,而是把列撑宽、整张表超出版心 % (实测“系(研究所、实验室、科室)”把表从 448.3pt 撑到 558.9pt)。 % 单列的 Q[c,m,wd=…] 没有这个问题,所以只有合并格需要包。 %====================================================================== \begin{khtbtable} % ⚠️ 每行都按 11 列写满(10 个 & + 结尾 \\)。 % 跨列合并在格子里用行内 \SetCell[c=n]{c} 声明,**不要**用表头的 % cell{r}{c}。原因见 ouckhtb.sty 第 6 节的长注释 —— 那里踩过坑: % 用表头 cell{} 会让某个值整格消失,而且零报错。 %---- R0 职工号 / 姓名 / 性别 / 出生年月 ------------------------------- % ⚠️ 修了一个既有 bug:这一行「出生年月」的值**原来从来不显示**, % 原版 PDF 里那一格就是空白(用 ××××.×× 时同样丢,只是没人注意)。 % % 原因不是合并写错,是原件这行本身就装不下: % 职工号(c1-2) 24.09 + 值(c3) 21.52 + 姓名(c4) 18.41 % + 值(c5-6) 24.43 + 性别(c7) 16.76 + 值(c8) 10.55 = 115.76mm % 全表 157.96mm,只剩 42.20mm(c9+c10+c11)要装「出生年月」标签 + 值。 % 而标签 4 字 14pt 就要 19.68mm,值「1985.03」14pt 要 17.22mm, % 19.68 + 17.22 = 36.90mm —— 看似够,但列宽是被 c9=15.31 / c10=1.38 % / c11=25.51 切死的,标签占不住 c9(15.31 < 19.68),只能整体右移到 % c10-11,于是值就被挤到表外静默丢弃。 % % 处理:标签放 c9 并折成两行「出生 / 年月」(每行 2 字 9.84mm,放得下), % 值放 c10-11(26.89mm,17.22mm 的「1985.03」放得下)。 % **列宽一个都没改**,只是把「标签必须一行」这个原件约束让掉了 —— % 换来的是值能显示。想还原原件那种「标签一行、值不要」,把上文 % \khbirthlabel 的定义改回一行「出生年月」即可(值会重新消失)。 \SetCell[c=2]{c} 职工号 & & \khnum & 姓名 & \SetCell[c=2]{c} \khtbfit{\khtbspanH}{\khname} & & 性别 & \khsex & \khbirthlabel & \SetCell[c=2]{c} \khtbfit{\khtbspanG}{\khbirth} & \\ %---- R1 单位 / 系(研究所、实验室、科室) ---------------------------- \SetCell[c=2]{c} \khtbfit{\khtbspanA}{单\hspace{1em}位} & & \SetCell[c=3]{c} \khtbfit{\khtbspanB}{\khdept} & & & \SetCell[c=2]{c} \khtbfit{\khtbspanC}{\khtbxi} & & \SetCell[c=4]{c} \khtbfit{\khtbspanD}{\khsubdept} & & & \\ %---- R2 政治面貌 / 现专业技术职务 / 所聘岗位 ------------------------- \SetCell[c=2]{c} \khtbfit{\khtbspanA}{政治面貌} & & \khparty & \SetCell[c=2]{c} \khtbfit{\khtbspanE}{现专业技术职务} & & \khtitle & & \SetCell[c=3]{c} \khtbfit{\khtbspanF}{所聘岗位} & & & \khpost \\ %---- R3 年度总结(竖排标签 + 正文栏) ------------------------------- % 正文与签名写进一个固定宽的 \parbox,否则会按版心宽折行冲出格子。 \khtbvert{年度总结} & \SetCell[c=10]{c} \khtbcell{\khtbsummary{\khsummary}\khtbsummarysign} & & & & & & & & & \\ %---- R4 系(所、实验室、科室)考评意见 ------------------------------- \khtbfit{\khtbwa}{系(所、实验室、科室)考评意见} & \SetCell[c=10]{c} \khtbcellb{\khtbsign{负责人签名:}\khtbdate} & & & & & & & & & \\ %---- R5 师德考核结果 ------------------------------------------------ \khtbfit{\khtbwa}{师德考核结果} & \SetCell[c=10]{c} \khtbcell{\khtbchoices{优秀,合格,基本合格,不合格}\khtbseal} & & & & & & & & & \\ %---- R6 单位年度考核建议档次 ---------------------------------------- \khtbfit{\khtbwa}{单位年度考核建议档次} & \SetCell[c=10]{c} \khtbcell{\khtbsmallnote (对考核档次为基本合格、不合格、不确定档次的人员需说明原因)\par \khtbbodyfont \khtbchoices{优秀,合格,基本合格,不合格,不确定档次}\khtbseal} & & & & & & & & & \\ %---- R7 年度考核结果 ------------------------------------------------ \khtbfit{\khtbwa}{年度考核结果} & \SetCell[c=10]{c} \khtbcell{\khtbchoices{优秀,合格,基本合格,不合格,不确定档次}\khtbseal} & & & & & & & & & \\ %---- R8 本人意见 ---------------------------------------------------- % docx 里首列是 3 个段落(空 / “本人” / “意见”),故两词各占一行。 \khtbstack{本人,意见} & \SetCell[c=10]{c} \khtbcell{本人知晓并同意考核结果为\khtbunderline{6em}。\par \vspace*{0.4em}% \khtbsign{本人签名:}\khtbdate} & & & & & & & & & \\ \end{khtbtable} %====================================================================== % 4. 表外脚注 %====================================================================== \khtbfootnote \end{document}