%====================================================================== % ouccourse.sty —— 中国海洋大学 本科课程教学执行大纲、教学日历 % % 由学校下发的 .docx 复刻而来。版式尺寸全部从原文件的 OOXML 量出, % 换算过程逐条写在对应位置。 % % ⚠️ 编译: xelatex 课程执行大纲.tex (单次即可,无交叉引用) % 需要 ctex + geometry + fontspec + xeCJK + tabularray % 实测 TeX Live 2022 / tabularray 2022A %====================================================================== \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{ouccourse}[2026/10/26 v1.0 OUC course syllabus form] \RequirePackage{geometry} \RequirePackage{fontspec} \RequirePackage{xeCJK} \RequirePackage{tabularray} \RequirePackage{enumitem} \RequirePackage{xcolor} \ExplSyntaxOn \cs_set_eq:NN \ccurlength \dim_use:N \ExplSyntaxOff %====================================================================== % 1. 页面 % % 原 docx sectPr: % pgSz 11910 x 16840 twips → 210.08 x 297.04 mm % pgMar top 1420 right 1300 bottom 280 left 1560 % header 720 footer 720 % % ⚠️ 注意两件事: % (a) WPS 存的 A4 是 11910x16840,比标准 A4 的 11906x16838 各多 4/2 twips。 % 差异 0.07/0.04 mm,肉眼不可辨,本包直接用标准 A4。 % (b) 下边距只有 4.94 mm,明显是原文件为“塞进 5 页”压出来的。 % 照抄会让最后一行几乎贴到纸边,故此处保留原值(复刻优先), % 并在 README 里注明这一处的不合理。 %====================================================================== \geometry{ paperwidth = 210mm, paperheight = 297mm, left = 27.52mm, % 1560 twips right = 22.93mm, % 1300 twips top = 25.05mm, % 1420 twips bottom = 4.94mm, % 280 twips ← 原文件如此,见上注 headheight = 0pt, headsep = 0pt, footskip = 12.70mm, % 720 twips } \setlength{\parindent}{0pt} \setlength{\parskip}{0pt} \pagestyle{empty} % 原 docx 无页眉页脚、无页码 %====================================================================== % 2. 字体 % % 原 docx 用到 4 个字体,其中 3 个是方正商业字体: % 方正小标宋简体 标题(嵌在 docx 里,系统未安装) % 方正仿宋_GB2312 正文(同上) % 黑体 各级标题 % 宋体 教学日历表正文、9pt % % 旧版这里是 SimSun / SimHei / FangSong + AutoFakeBold 伪粗,即 % 「本机恰好有 Windows 自带字体」的降级方案。问题有两层: % ① 换台机器(Linux/macOS、或精简版 Windows)就编不出来; % ② SimSun / SimHei / FangSong 都不允许随仓库分发。 % % ⇒ 现改为全部取自仓库公共字体包 ../fonts.tex(字体文件在 ../fonts/ 下): % 方正小标宋简体 → \ccbiaosong = OUC Serif 的**真粗体** % (小标宋本就是宋体的标题变体,用真粗体比原来 % AutoFakeBold=3.2 的算法描边干净得多 —— % 描边到 3.2 时笔画已经糊在一起) % 方正仿宋_GB2312 → \ccfang = Zhuque Fangsong(朱雀仿宋) % 黑体 → \cchei = OUC Sans(思源黑体) % 宋体 → \ccsong = OUC Serif(思源宋体) % % ⚠️ 朱雀仿宋只有常规一档、没有粗体。原版 \ccfang 靠 AutoFakeBold=2.5 % 伪粗来排表头(课程执行大纲.tex 里 {\ccfang\ccszxi\bfseries ...})。 % 现在伪粗已取消,\bfseries 在 \ccfang 下**不会变粗**。若表头必须 % 加粗,请把那里的 \ccfang 换成 \cchei(黑体本身就是标题用的重字面)。 %====================================================================== \input{../fonts.tex} %---------------------------------------------------------------------- % ⚠️ xeCJK 默认会在[汉字 ↔ 西文/数字]之间自动插一段空白(CJKecglue)。 % 原 docx 里没有这种空白,例如「××学部××学院」「2026 学年」「56/3.0」 % 在 Word 里是紧挨着的。不关掉会出现「×× 学部×× 学院」这种多出来的空隙。 % 此处把 CJKecglue 设为 0,并关掉自动间距(xeCJK 的 punct/ec 两类)。 %---------------------------------------------------------------------- \xeCJKsetup{ CJKecglue = {}, xeCJKactive = true, } \setlength{\parindent}{0pt} % 四个语义别名,沿用原命令名,正文一处都不用改。 % 用 \setCJKfamilyfont + \def 而非 \newCJKfontfamily:后者是 LaTeX3 的 % \NewDocumentCommand,若 ctex 已定义同名命令会直接报错中断(见 fonts.tex)。 \setCJKfamilyfont{ccsong}[ Extension = .otf, Path = ../fonts/ouc-serif/, UprightFont = *-Regular, BoldFont = *-Bold, ]{OUCSerif} \def\ccsong{\CJKfamily{ccsong}} \setCJKfamilyfont{cchei}[ Extension = .otf, Path = ../fonts/ouc-sans/, UprightFont = *-Regular, BoldFont = *-Bold, ]{OUCSans} \def\cchei{\CJKfamily{cchei}} % ⚠️ 朱雀仿宋只有常规一档、没有粗体。而教学日历的表头 % (课程执行大纲.tex 里的 {\ccfang\ccszxi\bfseries 周次} 等 6 处) % 明确要加粗。若不加处理,\bfseries 会被静默忽略 % (日志报 "Font shape TU/ZhuqueFangsong/b/n undefined"), % 表头就与表体一样细,层次全丢了。 % % 解法:只给这一族开 FakeBold=0.4 的**算法加粗**。 % ① 原模板本来就靠 AutoFakeBold=2.5 伪粗,观感一致; % ② 只影响 \ccfang,不污染其他字族(正文宋体/黑体都是真粗体); % ③ 0.4 比原来 2.5 轻得多 —— 2.5 是 Word 描边档位,笔画会糊, % 0.4 只加一点点笔宽,正好补上"表头该比表体重一点"的差异。 \setCJKfamilyfont{ccfang}[ Extension = .ttf, Path = ../fonts/zhuque-fangsong/, UprightFont = *-Regular, BoldFont = *-Regular, BoldFeatures = {FakeBold=0.8}, ]{ZhuqueFangsong} \def\ccfang{\CJKfamily{ccfang}} % 小标宋的替代:宋体真粗体(不是伪粗) \setCJKfamilyfont{ccbiaosong}[ Extension = .otf, Path = ../fonts/ouc-serif/, UprightFont = *-Bold, BoldFont = *-Bold, ]{OUCSerif} \def\ccbiaosong{\CJKfamily{ccbiaosong}} %---------------------------------------------------------------------- % ⚠️⚠️⚠️ ctex 默认 \linespread ≈ 1.3,会把 \fontsize{12}{X} 的行距放大 30%。 % 本例所有行距都来自 docx 的精确值(460 twips = exact 23pt 等), % 被放大就全错,故每次设字号前先把 \linespread 归 1。 %---------------------------------------------------------------------- \newcommand{\ccfont}[2]{% \linespread{1}\relax\fontsize{#1}{#2}\selectfont} % 常用字号(都是 docx 里实际出现的) % 15pt = sz30 14pt = sz28 12pt = sz24 11pt = sz22 10.5pt = sz21 9pt = sz18 \newcommand{\ccszxv}{\ccfont{15}{23}} % 15pt(首页校名) \newcommand{\ccszxiii}{\ccfont{14}{21}} % 14pt \newcommand{\ccszxii}{\ccfont{12}{18}} % 12pt 正文 \newcommand{\ccszxi}{\ccfont{11}{16.5}} % 11pt \newcommand{\ccszxxi}{\ccfont{10.5}{15.75}}% 10.5pt \newcommand{\ccszix}{\ccfont{9}{13.5}} % 9pt 教学日历表 \AtBeginDocument{\ccszxii\ccsong} %---------------------------------------------------------------------- % 3. 首页字段区 % % 原 docx P3~P8 共用同一个 pPr: % % % % % → 行距 460 twips exact = 23 pt % → 左缩进 −565 twips = −9.97 mm(负缩进,把整行往左拉出版心) % → 首行再 +220 twips = +3.88 mm % → 制表位 7020 twips = 123.81 mm % % ⚠️⚠️ 实测 docx 这几行是【溢出】的,不能照抄: % 制表位绝对位置 = 27.52(左边距)+ 123.81 = 141.33 mm, % 而右侧内容【开课时间】 2026 学年 秋 季学期 宽 58.20 mm, % ⇒ 行尾落在 199.53 mm,已越过版心右边界 187.07 mm 达 12.5 mm, % 钻进了 22.93 mm 的右边距里。原文件靠负缩进硬塞,视觉上不易察觉。 % % ⇒ 本包改为干净的两栏等宽布局,两栏都对齐、整体不溢出: % 左栏宽 100 mm(容纳【课程名】+值,实测最长 48.7 mm) % 右栏从 100 mm 起,实测最长【开课时间】58.2 mm,合计 158.2 mm % 版心 159.55 mm,留 1.35 mm 余量 % 各行左标签起点一致、右标签起点也一致,比原文件更整齐。 %---------------------------------------------------------------------- \newlength{\cccolw} \setlength{\cccolw}{100mm} % 下划线:把「值 + 尾部空格」一起划上,复现原文件里可填写的空档 \newcommand{\ccuv}[1]{\underline{#1}} % \ccfieldrow{左标签}{左值}{右标签}{右值} % 标签不加下划线,值加;原文件里值前后带空格,用以撑出填空长度 \newcommand{\ccfieldrow}[4]{% \par\noindent \makebox[\cccolw][l]{#1\ccuv{#2}}% #3\ccuv{#4}% \par} % 单栏字段(任课教师、面向专业两行只占左半) \newcommand{\ccfieldone}[2]{% \par\noindent #1\ccuv{#2}% \par} %====================================================================== % 4. 标题 % % P0 校名+院名 小标宋 15pt / 14pt,居中 % P1 副标题 小标宋 14pt,居中 % P10 大标题 小标宋 15pt,居中,段后 240 twips = 12pt % P11/P26/P39/P43/P46 一~五级标题:黑体 14pt % —— 但 P46「五、学习要求…」的 run 是 黑体 14pt, % 段落 rPr 却写 12pt + 下划线 + 红色(C00000)。这是原文件的 % 遗留脏属性,实际渲染按 run 的 14pt 黑体走,故本包按 14pt 黑体。 %====================================================================== \newcommand{\ccschool}{% \par\begingroup\centering {\ccbiaosong\ccszxv 中国海洋大学\par}% {\ccbiaosong\ccszxiii ××学部××学院\par}% \endgroup} \newcommand{\ccsubtitle}{% \par\begingroup\centering {\ccbiaosong\ccszxiii 本科课程教学执行大纲、教学日历\par}% \endgroup} \newcommand{\ccmaintitle}[1]{% \par\begingroup\centering \vspace*{0pt}% {\ccbiaosong\ccszxv #1\par}% \vspace*{12pt}% % spacing after=240 twips \endgroup} % 一~五级标题:黑体 14pt,段前 120 twips = 6pt % \ccsec{一、课程基本信息} \newcommand{\ccsec}[1]{% \par\begingroup \vspace*{6pt}% % spacing before=120 twips \noindent{\cchei\ccszxiii #1\par}% \endgroup} % 不带段前的标题(四、教材及参考资料 用 firstLine 708 缩进) \newcommand{\ccsecind}[1]{% \par\begingroup \vspace*{6pt}% \noindent\hspace*{12.50mm}{\cchei\ccszxiii #1\par}% 708 twips = 12.50mm \endgroup} %====================================================================== % 5. 正文段落 % % 正文(P12 起)统一: % 首行缩进 2 字 % 字体 方正仿宋_GB2312 12pt % 无 spacing 设定 ⇒ 单倍行距 % % 480 twips = 8.47mm,正好是 12pt 汉字的两个字宽(12pt×2 = 24pt = 8.47mm) % ⇒ 用 2em 更稳,与字号自动匹配。 %====================================================================== \newcommand{\ccp}[1]{\par\noindent\hspace*{2em}#1\par} % 无缩进段(用于表后、空行等) \newcommand{\ccpz}[1]{\par\noindent #1\par} % 空行:\ccblank{n} 产生 n 个 12pt 空行 \newcommand{\ccblank}[1]{% \par\begingroup\ccszxii \@tempcnta=0 \loop\ifnum\@tempcnta<#1\relax \mbox{}\par\advance\@tempcnta by 1 \repeat \endgroup} %====================================================================== % 6. 表 0 —— 成绩综合评分体系 % % docx: % tblW 0 auto(实际由 gridCol 撑开) gridCol = 7479 + 1418 = 8897 twips % tblLayout fixed jc center % tblBorders 六边 sz=4 → 0.5pt % tblCellMar left/right 108 twips = 1.905mm,top/bottom 0 % 每行 trHeight 454 exact = 22.70pt = 8.01mm % trPr 里还有 (行内容居中) % 字号 12pt 方正仿宋 % % 8897 twips = 156.93 mm,版心 159.63 mm ⇒ 不超版心,可用 colsep 还原内边距 % % ⚠️ 行高 454 twips 是 exact(固定),换算 22.70pt = 8.01mm。 % tabularray 的 ht= 是最小值语义,与 exact 略有差别;本表内容都是 % 单行文字,实际高度就等于 ht,故等价。 %====================================================================== \newcommand{\ccscoretblw}{156.93mm} \newcommand{\ccscorecA}{131.921mm} % 7479 twips \newcommand{\ccscorecB}{25.012mm} % 1418 twips \newcommand{\ccborder}{0.5pt} % sz=4 → 0.5pt \newcommand{\cccellsm}{1.905mm} % tblCellMar 108 twips % 列宽:content 宽 = gridCol − 2·colsep − 线宽分摊 % % 与表 1 同一个坑:tabularray 的 wd= 是【内容宽】, % 每条 vline 自身还占 0.5pt = 0.17639mm。2 列 3 条线,每列承担 1.5 条 ⇒ 0.2646mm。 % ⇒ wd = gridCol − 3.81 − 0.2646 = gridCol − 4.0746mm % A: 131.921 − 4.0746 = 127.846 % B: 25.012 − 4.0746 = 20.937 % Σ(wd + 2·colsep) + 3×0.176 = 148.783 + 7.62 + 0.529 = 156.932 ≈ 156.93 ✔ \newcommand{\ccscoreAwd}{127.846mm} \newcommand{\ccscoreBwd}{20.937mm} % ⚠️ 行高:docx 是 trHeight 454 exact = 22.70pt = 8.01mm。 % tabularray 的 ht= 含 hline 线宽预算,实测给 8.01mm 画出来是 8.19mm % (每行多 0.18 = 一条 0.5pt 横线)。故减掉 0.176mm。 \newcommand{\ccscorerowht}{7.834mm} \newenvironment{ccscoretable}{% \par\begingroup\ccszxii\ccfang \begin{tblr}[label=none]{ colspec={Q[c,m,wd=127.846mm] Q[c,m,wd=20.937mm]}, colsep=1.905mm, rowsep=0pt, stretch=0, hline{1-Z}={\ccborder}, vline{1-Z}={\ccborder}, row{1-Z}={ht=7.834mm}, }% }{% \end{tblr}\par\endgroup} %====================================================================== % 7. 表 1 —— 教学日历 % % docx: % tblW 9385 dxa gridCol = 846,1134,1877,850,2835,1843 = 9385 twips % tblLayout autofit jc center % tblBorders sz=4 0.5pt % tblCellMar 108 twips 1.905mm % R0 trHeight 917 atLeast = 16.17mm,表头 11pt 粗 % R1~R13 无 trHeight,行高由内容决定,数据 9pt 宋体 % R14 trHeight 1825 atLeast = 32.19mm(任课老师签字) % R15 trHeight 1073 atLeast = 18.93mm(审核意见) % % ⚠️⚠️ 9385 twips = 165.54 mm,而版心只有 159.63 mm —— 超宽 5.91 mm! % docx 里它靠 jc=center 硬居中、两边各溢约 3 mm,压进左右页边距。 % Word 允许表格比版心宽,照原样复刻,不做缩放(缩放会让长文字提前折行)。 % 本包做法:列宽照抄 gridCol,用 \hspace* 把表左边界推到实际的 27.4mm。 % % ⚠️⚠️ 这张表【总高 334 mm】,版心只有 267 mm —— 必须跨页! % 这就是原 docx 排成 5 页的原因。表内 16 行,R1~R13 无 trHeight, % 行高由内容(9pt 宋体多行)决定,实测各段行高见 README。 % docx 没有 tblHeader(跨页不重复表头)、没有 cantSplit(允许行内断开), % 故本包用 longtblr,且清空表头/表尾模板,行为与 Word 一致。 %====================================================================== \newcommand{\cctblw}{165.54mm} % 9385 twips,与 docx 完全一致 % 原始 gridCol(mm)= twips / 1440 × 25.4 \newcommand{\cccA}{14.922mm} % 846 \newcommand{\cccB}{20.002mm} % 1134 \newcommand{\cccC}{33.108mm} % 1877 \newcommand{\cccD}{14.993mm} % 850 \newcommand{\cccE}{50.006mm} % 2835 \newcommand{\cccF}{32.508mm} % 1843 % content 宽 = gridCol − 2·colsep − 线宽分摊 % % ⚠️ tabularray 的 wd= 是【内容宽】,但每条 vline 自身还占 0.5pt = 0.17639mm。 % 6 列共 7 条竖线,若全摊到 6 列上,每列承担 7/6 条 ⇒ 0.2058mm。 % ⇒ wd = gridCol − 3.81 − 0.2058 = gridCol − 4.0158mm % % 实测校验(改前 wd 按 gridCol−3.856 给,结果表宽 166.493 差 +0.95): % 每列宽 = wd + 2·colsep + 0.176 = 11.066+3.81+0.176 = 15.052 ✔ 与量到的完全一致 % 改后 Σ(wd+2·colsep) + 7×0.176 = 141.443+22.86+1.232 = 165.535 ≈ 165.54 ✔ \newcommand{\ccAwd}{10.906mm} % 14.922 − 4.0158 \newcommand{\ccBwd}{15.986mm} % 20.002 − 4.0158 \newcommand{\ccCwd}{29.092mm} % 33.108 − 4.0158 \newcommand{\ccDwd}{10.977mm} % 14.993 − 4.0158 \newcommand{\ccEwd}{45.990mm} % 50.006 − 4.0158 \newcommand{\ccFwd}{28.492mm} % 32.508 − 4.0158 %---------------------------------------------------------------------- % 单元格包装 % % ⚠️ 合并格 {c} 是不折行的 LR 模式,长文字会撑宽列 —— 必须包定宽 parbox。 % 合并格内容可用宽 = Σ所跨各列 wd + 2·colsep·(n−1) % R14/R15 是 g=6 的合并格: % Σ wd = 10.906+15.986+29.092+10.977+45.990+28.492 = 141.443 % + 2·1.905·5 = 19.050 % = 160.493 mm %---------------------------------------------------------------------- \newcommand{\ccspanall}{160.493mm} % R14/R15 合并格可用宽 % 表内单格(9pt 宋体,按 docx 原样:C0/C1/C3 居中,C2/C4/C5 左对齐) \newcommand{\ccl}[1]{\parbox{\linewidth}{\raggedright #1}} \newcommand{\ccc}[1]{\parbox{\linewidth}{\centering #1}} % 表宽 165.54mm > 版心 159.63mm,docx 里 jc=center 让它居中, % 左边界落在 (210 − 165.54)/2 = 22.23mm,比版心左 27.52mm 还靠左 5.29mm。 % % ⚠️ longtblr 生成的是一整块 \halign 盒子,【\hspace* 对它无效】(会被吞掉)。 % 正确做法是 \leftskip:它把段落每一行的起点整体左移。 % \hsize = 165.54mm → 让表内得下,不报 Overfull % \leftskip = −5.29mm → 整块左移,落到 22.23mm \newlength{\cctblshift} \setlength{\cctblshift}{5.29mm} % ⚠️ 不能用 \NewTblrEnviron + \SetTblrInner:预展开会报 % "Unexpandable command \ccfang inside column type"。 % 直接写 \begin{longtblr} 环境最稳。 % % ⚠️ longtblr 默认会在跨页处印 "( Continued )"、印 "表N:" 题注、 % 页尾印 "Continued on next page"。而原 docx 没有 tblHeader、 % 没有题注、没有任何续页提示。 % % 清干净需要动【两组】东西,只清一组不够: % (a) 内容模板 *-text:contfoot-text / conthead-text / caption-tag / caption-sep % (模板实例里调的是 \UseTblrTemplate{...}{default}, % 只把 conthead 设成 empty 而留着 conthead-text,仍会印出 "( Continued )") % (b) 模板实例:caption / conthead / contfoot % 实测只做 (b) 时第 5 页仍会出现 "表0:" 与 "(Continued)"。 % % ⚠️⚠️ conthead-text / contfoot-text 不能设成 empty!那会报 % "! Use of \??? doesn't match its definition. % LaTeX3 Error: Erroneous variable \l__tblr_template_conthead_text_tl" % (因为 normal 实例会 \tl_use 这个变量,empty 变体里没定义它)。 % 正确做法:用 \DefTblrTemplate 重新定义成「内容为空」的 normal 模板。 \DefTblrTemplate{conthead-text}{normal}{} \DefTblrTemplate{contfoot-text}{normal}{} \SetTblrTemplate{conthead-text}{normal} \SetTblrTemplate{contfoot-text}{normal} \SetTblrTemplate{caption-tag}{empty} \SetTblrTemplate{caption-sep}{empty} \SetTblrTemplate{caption-text}{empty} \SetTblrTemplate{caption}{empty} \SetTblrTemplate{conthead}{empty} \SetTblrTemplate{contfoot}{empty} \newenvironment{cctable}{% \par\begingroup \hsize=\cctblw \linewidth=\cctblw \leftskip=-\cctblshift \rightskip=0pt \parindent=0pt \begin{longtblr}[ label=none, % ⚠️⚠️ presep/postsep/headsep/footsep 是【outer】键,只能写在这个方括号里。 % 写进下面的花括号(inner spec)里不会生效,反而会把 "0pt" 当表内容 % 印在表格第一行 —— 实测表头上出现了一串 "0pt0pt0pt0pt" 垃圾字。 presep=0pt, postsep=0pt, headsep=0pt, footsep=0pt, ]{ colspec={ Q[c,m,wd=10.906mm] Q[c,m,wd=15.986mm] Q[l,m,wd=29.092mm] Q[c,m,wd=10.977mm] Q[l,m,wd=45.990mm] Q[l,m,wd=28.492mm] }, colsep=1.905mm, rowsep=0pt, stretch=0, hline{1-Z}={\ccborder}, vline{1-Z}={\ccborder}, % ⚠️ 表级默认字号必须写 cells={font=...},不能只写 font=。 % tabularray 的 inner 已知键里【没有 font】,单独写 font=\ccszix % 会被当成未知键静默忽略(不会报错!),表内就退回到文档的 12pt。 % docx 里表 1 绝大多数格是 sz18 = 9pt。 cells={font=\ccszix}, % 下列三行照 docx 的 trHeight atLeast 复刻: % R0 917 twips = 16.17mm(表头) % R14 1825 twips = 32.19mm(任课老师签字) % R15 1073 twips = 18.93mm(审核意见) row{1}={ht=16.17mm}, row{15}={ht=32.19mm}, row{16}={ht=18.93mm}, }% }{% \end{longtblr}\par\endgroup} %====================================================================== % 8. 签字栏(第一页末尾) % % docx P53~P62:全部 14pt 方正仿宋,段前 120 twips = 6pt % P55 任课老师(签字): % P57 教学院长审核意见: % P60 教学院长签字: % P62 「年 月 日」首行缩进 708 twips = 12.50mm,前面 41 个半角空格 % % ⚠️ 原文件这里不是表格,是纯段落 + 空格凑出来的空白。 % 本包改为等价的 \vspace 与右对齐,结构更干净、位置一致。 %====================================================================== \newcommand{\ccsignlab}[1]{% \par\begingroup\ccfang\ccszxiii \vspace*{6pt}\noindent #1\par\endgroup} \newcommand{\ccdateblank}{% \par\begingroup\ccfang\ccszxiii \vspace*{6pt}% \noindent\hspace*{12.50mm}% \makebox[90mm][r]{年\hspace{2em}月\hspace{2em}日}% \par\endgroup} %====================================================================== % 9. 教学日历页标题 % % docx P64:小标宋 14pt 加粗,居中,行距 360 auto(= 1.5 倍) %====================================================================== \newcommand{\ccdaytitle}[1]{% \par\begingroup\centering {\ccbiaosong\ccszxiii #1\par}% \endgroup} \newcommand{\ccnewpage}{\par\newpage} %====================================================================== % 10. 表尾「合计」行后的说明性小字(10.5pt) %====================================================================== \newcommand{\ccsmall}{\ccszxxi} \RequirePackage{ifthen} \makeatletter \providecommand{\@tempcnta}{} \makeatother \endinput