Files

156 lines
8.7 KiB
TeX
Raw Permalink Normal View History

%======================================================================
% 中国海洋大学 教职工年度考核登记表
%
% 编译: 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 模式】:
% 文字比所跨各列合计更宽时,它不会折行,而是把列撑宽、整张表超出版心
2026-11-01 09:29:00 +08:00
% (实际“系(研究所、实验室、科室)”把表从 448.3pt 撑到 558.9pt)。
% 单列的 Q[c,m,wd=…] 没有这个问题,所以只有合并格需要包。
%======================================================================
\begin{khtbtable}
% ⚠️ 每行都按 11 列写满(10 个 & + 结尾 \\)。
% 跨列合并在格子里用行内 \SetCell[c=n]{c} 声明,**不要**用表头的
% 用表头 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}