新增《点名册》模板:A4 横向,18 周考勤表 #26
- 20 列表格:序号 / 学号 / 姓名 / 第 1~17 周 - A4 横向 297x210mm,单页 30 行 - 课程信息区:课程名称、课程号、选课号、学分、任课教师、学年学期 - 字体来自 ../fonts.tex,与其他模板一致 - 已加入 verify_all.sh 全库 17/17 编译通过,点名册 1 页、error 0、Overfull 0。
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# 中国海洋大学 LaTeX 模板库
|
# 中国海洋大学 LaTeX 模板库
|
||||||
|
|
||||||
16 个文档模板 + 一份公共字体。换机器、换系统、换 Overleaf,编译结果一致。
|
17 个文档模板 + 一份公共字体。换机器、换系统、换 Overleaf,编译结果一致。
|
||||||
|
|
||||||
## 目录结构
|
## 目录结构
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@ ouc_latex_template/
|
|||||||
├── 特殊事项说明表/ │
|
├── 特殊事项说明表/ │
|
||||||
├── 成绩构成说明/ │
|
├── 成绩构成说明/ │
|
||||||
├── 试卷/ │
|
├── 试卷/ │
|
||||||
├── 试卷归档封面/ │ 16 个模板
|
├── 试卷归档封面/ │ 17 个模板
|
||||||
├── 试卷归档目录/ │ 每个目录自成一体
|
├── 试卷归档目录/ │ 每个目录自成一体
|
||||||
├── 课程大纲/ │ 各自带 README
|
├── 课程大纲/ │ 各自带 README
|
||||||
├── 课程执行大纲/ │
|
├── 课程执行大纲/ │
|
||||||
@@ -25,7 +25,8 @@ ouc_latex_template/
|
|||||||
├── 教材/ │
|
├── 教材/ │
|
||||||
├── 科技报告/ │
|
├── 科技报告/ │
|
||||||
├── 幻灯片/ │
|
├── 幻灯片/ │
|
||||||
└── 简历/ ┘
|
├── 简历/ │
|
||||||
|
└── 点名册/ ┘
|
||||||
```
|
```
|
||||||
|
|
||||||
## 模板清单
|
## 模板清单
|
||||||
@@ -47,6 +48,7 @@ ouc_latex_template/
|
|||||||
| `科技报告/` | 科技报告、实验讲义 | `report.tex` |
|
| `科技报告/` | 科技报告、实验讲义 | `report.tex` |
|
||||||
| `幻灯片/` | Beamer 演示文稿(16:9) | `slides.tex` |
|
| `幻灯片/` | Beamer 演示文稿(16:9) | `slides.tex` |
|
||||||
| `简历/` | 个人简历 | `简历.tex` |
|
| `简历/` | 个人简历 | `简历.tex` |
|
||||||
|
| `点名册/` | 课程点名册(A4 横向,18 周考勤) | `点名册.tex` |
|
||||||
|
|
||||||
## 编译
|
## 编译
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ TARGETS=(
|
|||||||
"课程大纲|课程大纲.tex"
|
"课程大纲|课程大纲.tex"
|
||||||
"会议预算表|会议预算表.tex"
|
"会议预算表|会议预算表.tex"
|
||||||
"教材|教材.tex"
|
"教材|教材.tex"
|
||||||
|
"点名册|点名册.tex"
|
||||||
)
|
)
|
||||||
|
|
||||||
filter="${1:-}"
|
filter="${1:-}"
|
||||||
|
|||||||
+131
@@ -0,0 +1,131 @@
|
|||||||
|
# 点名册
|
||||||
|
|
||||||
|
中国海洋大学课程点名册,A4 横向,20 列考勤表。
|
||||||
|
|
||||||
|
## 编译
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd 点名册
|
||||||
|
xelatex 点名册.tex
|
||||||
|
```
|
||||||
|
|
||||||
|
或仓库根:`bash build.sh 点名册`
|
||||||
|
|
||||||
|
## 文件
|
||||||
|
|
||||||
|
| 文件 | 说明 |
|
||||||
|
|---|---|
|
||||||
|
| `点名册.tex` | 主文件,课程信息与学生名单改这里 |
|
||||||
|
| `oucroll.sty` | 版式包,一般不改 |
|
||||||
|
|
||||||
|
## 课程信息
|
||||||
|
|
||||||
|
```latex
|
||||||
|
\rollsetcourse{数字逻辑} % 课程名称
|
||||||
|
\rollsetcno{080502101231} % 课程号
|
||||||
|
\rollsetsno{25252029} % 选课号
|
||||||
|
\rollsetcredit{2.5} % 学分
|
||||||
|
\rollsetteacher{张远航} % 任课教师
|
||||||
|
\rollsetterm{2025 学年 秋 季学期} % 学年学期
|
||||||
|
```
|
||||||
|
|
||||||
|
| 命令 | 说明 |
|
||||||
|
|---|---|
|
||||||
|
| `\rollsetcourse{}` | 课程名称 |
|
||||||
|
| `\rollsetcno{}` | 课程号 |
|
||||||
|
| `\rollsetsno{}` | 选课号 |
|
||||||
|
| `\rollsetcredit{}` | 学分 |
|
||||||
|
| `\rollsetteacher{}` | 任课教师 |
|
||||||
|
| `\rollsetterm{}` | 学年学期 |
|
||||||
|
|
||||||
|
设完后调 `\rollinfo` 印出信息区:
|
||||||
|
|
||||||
|
```latex
|
||||||
|
\rolltitle{中国海洋大学点名册}
|
||||||
|
\rollsetcourse{数字逻辑}
|
||||||
|
...
|
||||||
|
\rollinfo
|
||||||
|
```
|
||||||
|
|
||||||
|
## 学生名单
|
||||||
|
|
||||||
|
每人一行,三列:序号、学号、姓名。后面 17 周留空手填。
|
||||||
|
|
||||||
|
```latex
|
||||||
|
\begin{rolltable}
|
||||||
|
\rollrow{1}{2525201001}{陈嘉禾}
|
||||||
|
\rollrow{2}{2525201002}{丁若彤}
|
||||||
|
...
|
||||||
|
\end{rolltable}
|
||||||
|
```
|
||||||
|
|
||||||
|
| 参数 | 说明 |
|
||||||
|
|---|---|
|
||||||
|
| 第 1 个 | 序号 |
|
||||||
|
| 第 2 个 | 学号 |
|
||||||
|
| 第 3 个 | 姓名 |
|
||||||
|
|
||||||
|
增删学生就增删 `\rollrow` 行。
|
||||||
|
|
||||||
|
## 一页能放多少行
|
||||||
|
|
||||||
|
A4 横向(297 × 210mm),上下边距 14/16mm,扣掉标题、课程信息、表头:
|
||||||
|
|
||||||
|
| 行高 | 一页行数 |
|
||||||
|
|---|---|
|
||||||
|
| 5.0mm | 27 行 |
|
||||||
|
| 4.5mm(默认) | 30 行 |
|
||||||
|
| 4.2mm | 33 行 |
|
||||||
|
|
||||||
|
超过这个数会溢出到第二页。要放更多学生,两个办法:
|
||||||
|
|
||||||
|
1. 改 `oucroll.sty` 里 `row{2-Z}={ht=4.5mm}` 的行高
|
||||||
|
2. 分两页,每页 30 人,第二页重复表头
|
||||||
|
|
||||||
|
## 表头
|
||||||
|
|
||||||
|
20 列表头依次是:序号、学号、姓名、1、2、3 …… 17。
|
||||||
|
|
||||||
|
周次列只写数字,不写「第 N 周」,因为横向空间有限。
|
||||||
|
|
||||||
|
改列宽或改周数,编辑 `oucroll.sty`:
|
||||||
|
|
||||||
|
```latex
|
||||||
|
\newcommand{\rollwno}{9mm} % 序号
|
||||||
|
\newcommand{\rollwid}{26mm} % 学号
|
||||||
|
\newcommand{\rollwname}{20mm} % 姓名
|
||||||
|
\newcommand{\rollwweek}{11.4734mm} % 每周
|
||||||
|
```
|
||||||
|
|
||||||
|
**改列宽时必须重算**,让总和恰好等于版心宽:
|
||||||
|
|
||||||
|
```
|
||||||
|
版心 = 297 − 14×2 = 269mm
|
||||||
|
表宽 = Σwd + 2×0.4×20(colsep)+ 0.4pt×20(竖线) = Σwd + 18.82mm
|
||||||
|
∴ Σwd = 269 − 18.82 = 250.18mm
|
||||||
|
```
|
||||||
|
|
||||||
|
## 表尾说明
|
||||||
|
|
||||||
|
```latex
|
||||||
|
\rollfoot{标记方式自行约定(如「√」出席、「缺」缺席、「假」请假)。}
|
||||||
|
```
|
||||||
|
|
||||||
|
不要就删掉这一行。
|
||||||
|
|
||||||
|
## 版式
|
||||||
|
|
||||||
|
```
|
||||||
|
A4 横向 297 × 210 mm
|
||||||
|
边距 左右 14mm,上 12mm,下 16mm
|
||||||
|
标题 20pt 黑体居中
|
||||||
|
课程信息 10.5pt,两行三项
|
||||||
|
表格 20 列 × (1 表头 + N 数据行)
|
||||||
|
表头行高 7.0mm,数据行高 4.5mm
|
||||||
|
正文 10.5pt,表头 8pt,表体 10pt
|
||||||
|
不排页码
|
||||||
|
```
|
||||||
|
|
||||||
|
## 注意
|
||||||
|
|
||||||
|
示例学生名单是虚构数据,使用时全部替换。
|
||||||
+187
@@ -0,0 +1,187 @@
|
|||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesPackage{oucroll}[2026/11/03 v1.0 OUC roll-call sheet]
|
||||||
|
|
||||||
|
%======================================================================
|
||||||
|
% oucroll.sty —— 点名册版式包
|
||||||
|
%
|
||||||
|
% 横版 A4,20 列表格:序号 / 学号 / 姓名 / 第1~17周
|
||||||
|
% 用法见同目录 README.md
|
||||||
|
%======================================================================
|
||||||
|
|
||||||
|
\RequirePackage{geometry}
|
||||||
|
\RequirePackage{fontspec}
|
||||||
|
\RequirePackage{xeCJK}
|
||||||
|
\RequirePackage{tabularray}
|
||||||
|
\RequirePackage{calc}
|
||||||
|
|
||||||
|
%======================================================================
|
||||||
|
% 一、页面:A4 横向
|
||||||
|
%======================================================================
|
||||||
|
\geometry{
|
||||||
|
paperwidth = 297mm,
|
||||||
|
paperheight = 210mm,
|
||||||
|
left = 14mm,
|
||||||
|
right = 14mm,
|
||||||
|
top = 12mm,
|
||||||
|
bottom = 16mm,
|
||||||
|
headheight = 0pt,
|
||||||
|
headsep = 0pt,
|
||||||
|
footskip = 8mm,
|
||||||
|
}
|
||||||
|
\setlength{\parindent}{0pt}
|
||||||
|
\setlength{\parskip}{0pt}
|
||||||
|
\pagestyle{empty} % 点名册单页,不排页码
|
||||||
|
|
||||||
|
\input{../fonts.tex}
|
||||||
|
|
||||||
|
%======================================================================
|
||||||
|
% 二、字号
|
||||||
|
%======================================================================
|
||||||
|
\newcommand{\rollbasefont}{%
|
||||||
|
\linespread{1}\relax
|
||||||
|
\fontsize{10.5bp}{13bp}\selectfont}
|
||||||
|
|
||||||
|
\newcommand{\rolltitlefont}{\linespread{1}\relax\fontsize{20bp}{24bp}\selectfont}
|
||||||
|
\newcommand{\rollinfofont} {\linespread{1}\relax\fontsize{10.5bp}{13bp}\selectfont}
|
||||||
|
\newcommand{\rollheadfont} {\linespread{1}\relax\fontsize{8bp}{9.5bp}\selectfont}
|
||||||
|
\newcommand{\rollcellfont} {\linespread{1}\relax\fontsize{10bp}{12.5bp}\selectfont}
|
||||||
|
\newcommand{\rollweekfont} {\linespread{1}\relax\fontsize{7.5bp}{9bp}\selectfont}
|
||||||
|
|
||||||
|
%======================================================================
|
||||||
|
% 三、列宽
|
||||||
|
%
|
||||||
|
% 版心宽 269mm(297 − 14×2)。
|
||||||
|
% tabularray 的实际表宽 = Σwd + 2×colsep×列数 + 竖线宽×列数
|
||||||
|
% 20 列时:2×0.4×20 = 16.00mm,竖线 0.4pt×20 = 2.82mm,共 18.82mm
|
||||||
|
% 故 Σwd 只能取 269 − 18.82 = 250.18mm
|
||||||
|
%
|
||||||
|
% 序号 9 + 学号 26 + 姓名 20 = 55mm
|
||||||
|
% 余 195.18mm 分给 17 周,每周 11.4810mm
|
||||||
|
%======================================================================
|
||||||
|
\newcommand{\rollrule}{0.4pt}
|
||||||
|
\newcommand{\rollcolsep}{0.4mm}
|
||||||
|
|
||||||
|
\newcommand{\rollwno}{9mm} % 序号
|
||||||
|
\newcommand{\rollwid}{26mm} % 学号
|
||||||
|
\newcommand{\rollwname}{20mm} % 姓名
|
||||||
|
\newcommand{\rollwweek}{11.4734mm} % 每周
|
||||||
|
|
||||||
|
%======================================================================
|
||||||
|
% 四、课程信息
|
||||||
|
%
|
||||||
|
% \rollinfo{课程名称}{数值}
|
||||||
|
% 信息行按「标签 + 值」成对排版,一行放三项。
|
||||||
|
%======================================================================
|
||||||
|
\newcommand{\rollcourse}{} % 课程名称
|
||||||
|
\newcommand{\rollcno}{} % 课程号
|
||||||
|
\newcommand{\rollsno}{} % 选课号
|
||||||
|
\newcommand{\rollcredit}{} % 学分
|
||||||
|
\newcommand{\rollteacher}{} % 任课教师
|
||||||
|
\newcommand{\rollterm}{} % 学年学期
|
||||||
|
\newcommand{\rolldept}{} % 开课单位
|
||||||
|
|
||||||
|
\newcommand{\rollsetcourse}[1]{\renewcommand{\rollcourse}{#1}}
|
||||||
|
\newcommand{\rollsetcno}[1]{\renewcommand{\rollcno}{#1}}
|
||||||
|
\newcommand{\rollsetsno}[1]{\renewcommand{\rollsno}{#1}}
|
||||||
|
\newcommand{\rollsetcredit}[1]{\renewcommand{\rollcredit}{#1}}
|
||||||
|
\newcommand{\rollsetteacher}[1]{\renewcommand{\rollteacher}{#1}}
|
||||||
|
\newcommand{\rollsetterm}[1]{\renewcommand{\rollterm}{#1}}
|
||||||
|
\newcommand{\rollsetdept}[1]{\renewcommand{\rolldept}{#1}}
|
||||||
|
|
||||||
|
% 一项:标签(黑体) + 值
|
||||||
|
\newcommand{\rollfield}[2]{%
|
||||||
|
{\heiti #1}:#2}
|
||||||
|
|
||||||
|
%======================================================================
|
||||||
|
% 五、标题
|
||||||
|
%======================================================================
|
||||||
|
\newcommand{\rolltitle}[1]{%
|
||||||
|
\par\begingroup\centering
|
||||||
|
{\heiti\rolltitlefont #1\par}%
|
||||||
|
\endgroup\vspace*{2mm}}
|
||||||
|
|
||||||
|
%======================================================================
|
||||||
|
% 六、课程信息区
|
||||||
|
%
|
||||||
|
% 两行,每行三项,用 \hfill 撑开
|
||||||
|
%======================================================================
|
||||||
|
\newcommand{\rollinfo}{%
|
||||||
|
\begingroup\rollinfofont
|
||||||
|
\noindent
|
||||||
|
\rollfield{课程名称}{\rollcourse}\hfill
|
||||||
|
\rollfield{课程号}{\rollcno}\hfill
|
||||||
|
\rollfield{选课号}{\rollsno}\par\vspace*{1.2mm}
|
||||||
|
\noindent
|
||||||
|
\rollfield{学分}{\rollcredit}\hfill
|
||||||
|
\rollfield{任课教师}{\rollteacher}\hfill
|
||||||
|
\rollfield{学年学期}{\rollterm}\par
|
||||||
|
\endgroup\vspace*{2.5mm}}
|
||||||
|
|
||||||
|
%======================================================================
|
||||||
|
% 七、周次表头
|
||||||
|
%
|
||||||
|
% 「第 1 周」写成「1」,表头下方一行标注「周次」,这样表头只占
|
||||||
|
% 一行高度,横向也省空间 —— 20 列挤在一行里,竖排会撑高表头。
|
||||||
|
%======================================================================
|
||||||
|
\newcommand{\rollweekhead}[1]{%
|
||||||
|
{\heiti\rollheadfont #1}}
|
||||||
|
|
||||||
|
%======================================================================
|
||||||
|
% 八、表格环境
|
||||||
|
%
|
||||||
|
% 20 列:3 固定 + 17 周
|
||||||
|
% 表头单行:序号 / 学号 / 姓名 / 1 / 2 / … / 17
|
||||||
|
%======================================================================
|
||||||
|
\newcounter{rollrow}
|
||||||
|
|
||||||
|
\newenvironment{rolltable}{%
|
||||||
|
\par\begingroup\rollcellfont
|
||||||
|
\begin{tblr}[label=none, expand=\rollrow]{
|
||||||
|
colspec={
|
||||||
|
Q[c,m,wd=\rollwno]
|
||||||
|
Q[c,m,wd=\rollwid]
|
||||||
|
Q[c,m,wd=\rollwname]
|
||||||
|
*{17}{Q[c,m,wd=\rollwweek]}
|
||||||
|
},
|
||||||
|
colsep=\rollcolsep, rowsep=0pt, stretch=0,
|
||||||
|
hline{1-Z}={\rollrule}, vline{1-Z}={\rollrule},
|
||||||
|
row{1}={ht=7.0mm},
|
||||||
|
row{2-Z}={ht=4.5mm},
|
||||||
|
}%
|
||||||
|
% ---- 表头 ----
|
||||||
|
{\heiti\rollheadfont 序号} &
|
||||||
|
{\heiti\rollheadfont 学号} &
|
||||||
|
{\heiti\rollheadfont 姓名} &
|
||||||
|
\rollweekhead{1} & \rollweekhead{2} & \rollweekhead{3} & \rollweekhead{4} &
|
||||||
|
\rollweekhead{5} & \rollweekhead{6} & \rollweekhead{7} & \rollweekhead{8} &
|
||||||
|
\rollweekhead{9} & \rollweekhead{10} & \rollweekhead{11} & \rollweekhead{12} &
|
||||||
|
\rollweekhead{13} & \rollweekhead{14} & \rollweekhead{15} & \rollweekhead{16} &
|
||||||
|
\rollweekhead{17} \\
|
||||||
|
}{%
|
||||||
|
\end{tblr}\par\endgroup}
|
||||||
|
|
||||||
|
%======================================================================
|
||||||
|
% 九、数据行
|
||||||
|
%
|
||||||
|
% \rollrow{序号}{学号}{姓名}
|
||||||
|
% 后面 17 个空格留给手填考勤。
|
||||||
|
%
|
||||||
|
% ⚠️ 必须用 \def 而不是 \newcommand:tblr 的 expand= 选项在读取
|
||||||
|
% 环境体时就展开,\newcommand 生成的宏不可展开,& 会被当成
|
||||||
|
% 「Misplaced alignment tab」报错。
|
||||||
|
%======================================================================
|
||||||
|
\def\rollrow#1#2#3{%
|
||||||
|
#1 & #2 & #3 &
|
||||||
|
& & & & & & & & & & & & & & & & \\
|
||||||
|
}
|
||||||
|
|
||||||
|
%======================================================================
|
||||||
|
% 十、脚注(可选)
|
||||||
|
%======================================================================
|
||||||
|
\newcommand{\rollfoot}[1]{%
|
||||||
|
\par\vspace*{2mm}%
|
||||||
|
\begingroup\rollinfofont{\heiti 说明:}#1\par\endgroup}
|
||||||
|
|
||||||
|
\AtBeginDocument{\rollbasefont}
|
||||||
|
|
||||||
|
\endinput
|
||||||
BIN
Binary file not shown.
+58
@@ -0,0 +1,58 @@
|
|||||||
|
\documentclass[UTF8,fontset=none]{ctexart}
|
||||||
|
\usepackage{oucroll}
|
||||||
|
|
||||||
|
%======================================================================
|
||||||
|
% 点名册
|
||||||
|
%
|
||||||
|
% 编译:在本文目录下 xelatex 点名册.tex
|
||||||
|
%======================================================================
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\rolltitle{中国海洋大学点名册}
|
||||||
|
|
||||||
|
\rollsetcourse{数字逻辑}
|
||||||
|
\rollsetcno{080502101231}
|
||||||
|
\rollsetsno{25252029}
|
||||||
|
\rollsetcredit{2.5}
|
||||||
|
\rollsetteacher{张远航}
|
||||||
|
\rollsetterm{2025 学年 秋 季学期}
|
||||||
|
|
||||||
|
\rollinfo
|
||||||
|
|
||||||
|
\begin{rolltable}
|
||||||
|
\rollrow{1}{2525201001}{陈嘉禾}
|
||||||
|
\rollrow{2}{2525201002}{丁若彤}
|
||||||
|
\rollrow{3}{2525201003}{方志远}
|
||||||
|
\rollrow{4}{2525201004}{高文轩}
|
||||||
|
\rollrow{5}{2525201005}{郭思远}
|
||||||
|
\rollrow{6}{2525201006}{韩雨桐}
|
||||||
|
\rollrow{7}{2525201007}{何书宁}
|
||||||
|
\rollrow{8}{2525201008}{胡锦程}
|
||||||
|
\rollrow{9}{2525201009}{黄语晨}
|
||||||
|
\rollrow{10}{2525201010}{蒋心怡}
|
||||||
|
\rollrow{11}{2525201011}{孔令仪}
|
||||||
|
\rollrow{12}{2525201012}{李明哲}
|
||||||
|
\rollrow{13}{2525201013}{林可欣}
|
||||||
|
\rollrow{14}{2525201014}{刘慕思}
|
||||||
|
\rollrow{15}{2525201015}{陆承宇}
|
||||||
|
\rollrow{16}{2525201016}{罗嘉懿}
|
||||||
|
\rollrow{17}{2525201017}{马雨欣}
|
||||||
|
\rollrow{18}{2525201018}{苗梓涵}
|
||||||
|
\rollrow{19}{2525201019}{倪瑞泽}
|
||||||
|
\rollrow{20}{2525201020}{潘书瑶}
|
||||||
|
\rollrow{21}{2525201021}{彭亦凡}
|
||||||
|
\rollrow{22}{2525201022}{钱家豪}
|
||||||
|
\rollrow{23}{2525201023}{秦若雯}
|
||||||
|
\rollrow{24}{2525201024}{沈靖宇}
|
||||||
|
\rollrow{25}{2525201025}{苏瑾瑜}
|
||||||
|
\rollrow{26}{2525201026}{孙牧之}
|
||||||
|
\rollrow{27}{2525201027}{谭心悦}
|
||||||
|
\rollrow{28}{2525201028}{汤子墨}
|
||||||
|
\rollrow{29}{2525201029}{汪雨桐}
|
||||||
|
\rollrow{30}{2525201030}{王浩然}
|
||||||
|
\end{rolltable}
|
||||||
|
|
||||||
|
\rollfoot{标记方式自行约定(如「√」出席、「缺」缺席、「假」请假)。}
|
||||||
|
|
||||||
|
\end{document}
|
||||||
Reference in New Issue
Block a user