CTAN Comprehensive TeX Archive Network

Verzeichnis macros/latex2e/contrib/jouthesis/doc

README.md
# 江苏海洋大学本科毕业论文 LaTeX 模板 **JOU Undergraduate Thesis LaTeX Template** *Jiangsu Ocean University Undergraduate Thesis LaTeX Template* [![License: LPPL 1.3c](https://img.shields.io/badge/License-LPPL%201.3c-blue.svg)](https://www.latex-project.org/lppl.txt) [![TeX Live](https://img.shields.io/badge/TeX%20Live-2020+-green.svg)](https://www.tug.org/texlive/) [![XeLaTeX](https://img.shields.io/badge/Engine-XeLaTeX-orange.svg)](#) 简体中文 | [English](README_EN.md)

项目简介

本项目依据《江苏海洋大学2026届毕业实习与设计(论文)工作手册》整理出一套可编译、可测试、可跨平台复现的 模板。

当前仓库包含:

  • 1 份论文主模板 main.tex
  • 18 份工作手册配套模板
  • 1 套基于 WPS 导出 PDF 的 E2E 对齐测试
  • 1 套内置开源字体方案,保证 Linux、macOS、Windows 一致编译
  • 1 套三系统 CI 矩阵,持续校验 Windows / macOS / Linux 的论文构建与字体契约

项目的默认字体策略现在收敛为“学术规范四字体优先”:

  • 楷体_GB2312
  • 宋体
  • 黑体
  • Times New Roman

仓库通过 fonts/opensource/ 提供可再分发的开源兜底字体,并允许在 fonts/proprietary/ 中放入用户自备、已获授权的标准字体文件。WPS 字体仍被支持,但只作为兼容兜底,不再作为默认优先路径。

核心特性

  • 学术规范优先:封面和正文优先命中 楷体_GB2312 / 宋体 / 黑体 / Times New Roman,更适合真实论文写作与交付。
  • 手册基线校验:以工作手册导出 PDF 为基线,校验分页锚点、表格网格、页面方向和产物页数。
  • 跨平台一致编译:默认使用仓库内置字体,不要求用户先手动安装 楷体_GB2312仿宋_GB2312Times New Roman
  • 模板全量覆盖:论文正文之外,补齐了手册中的 18 份表单/报告/评分模板。
  • 可选标准字体覆盖:若本机已有合法字体授权,可把字体文件放入 fonts/proprietary/,模板会自动优先使用。
  • E2E 可执行标准:源码契约、PDF 产物、论文专项检查都写进测试,不再靠人工口头确认。

预览

README 的展示面按“先看质感,再看完整度,再看覆盖面”来组织。所有预览图都可通过 make readme-images 重新生成。

论文封面:参考样页 vs 当前模板

论文封面对比

论文主模板画廊

下面这张图展示当前模板的核心论文页面:封面、中文摘要、英文摘要、目录、正文首页、参考文献。论文模板画廊

关键版式细节:摘要与正文对比

README 不只放“成品图”,也保留关键页的横向对比,方便快速判断版式是否贴近手册。正文这里使用独立的 body-sample.pdf 与手册样页做一对一对比,避免拿真实论文内容去硬比手册说明页。 摘要对比图使用“标题 + 外框 + 摘要正文”的内容区裁剪,不把手册页底部的说明性注释一起放进 README 演示图。中文摘要对比正文页对比

配套表单画廊

下图展示 6 个代表性配套模板:选题审题表、任务书、开题报告(理工农医类)、中期检查表、评语表、答辩记录。表单模板画廊

技术验证产物

用于排查残余字体或几何偏差的 overlay / diff / checker 产物保留在 docs/assets/,可通过 make cover-diff 重生成,不作为 README 首屏展示图。

  • docs/assets/thesis-cover-overlay-focus.png
  • docs/assets/thesis-cover-diff-focus.png
  • docs/assets/thesis-cover-checker-focus.png

模板清单

论文正文

文档 文件
毕业设计(论文)说明书 main.tex

配套模板(18 个)

类别 数量 文件
表格类 10 preliminary-materials-cover.textopic-selection.texinternship-registration.textask-book-science.textask-book-humanities.texproposal-defense-record.texmidterm-check.texdefense-record.textopic-summary.texhandbook-statistics.tex
报告类 5 internship-diary.texinternship-report.texproposal-science.texproposal-humanities.textranslation.tex
评价类 3 thesis-evaluation.texgrading-science.texgrading-humanities.tex

更多说明见 templates/README.md

快速开始

环境要求

  • 发行版: Live 2020+ 或 Mik 2.9+
  • 编译器:xelatex
  • 测试工具:pdfinfopdftotextpdffonts(Poppler)
  • Python:3.9+

安装 环境

macOS

brew install --cask mactex
brew install poppler

Windows

Linux

# Ubuntu / Debian
sudo apt-get install texlive-xetex texlive-lang-chinese poppler-utils

下载仓库字体

make fonts

该命令会拉取仓库默认使用的开源字体到 fonts/opensource/。这是默认编译模式,不需要额外安装系统字体。

编译论文

make

或手动执行:

python3 scripts/download_fonts.py
latexmk -xelatex main.tex

编译单个表单

cd templates/forms
latexmk -xelatex topic-selection.tex

运行测试

make test

生成 README 预览图

make readme-images

等价于:

python3 tests/test_pixel_perfect_alignment.py
python3 tests/test_thesis_alignment.py

字体策略

毕业论文优先使用标准学术字体,模板自动按以下优先级加载:

字体加载优先级

  1. 📁 本地标准字体 (fonts/proprietary/)
    • 手动放入的正式字体文件
    • 最适合最终提交与本机高保真交付
  1. 💻 系统标准学术字体
    • Windows: 直接探测 C:/Windows/Fonts 中的 times/simsun/simhei/simkai/simfang
    • macOS: 优先探测系统 STSong/STHeiti/STKaiti/STFangsong
    • Linux: 优先探测系统已安装的 Times New Roman / SimSun / SimHei / KaiTi / FangSong
  1. 🧩 WPS 兼容字体
    • 仅在标准学术字体不完整时使用
    • 包括 WPS 安装目录和系统中的 HY... / FZ... 字体
  1. 🆓 开源字体兜底 (fonts/opensource/)
    • 仅在前三者都不可用时使用
    • Tinos, Noto CJK, LXGW WenKai, FandolFang

检查字体状态

python3 scripts/check_fonts.py

该脚本会自动检测你的系统字体配置,并给出改进建议。

对 Windows 用户,脚本会额外检查:

  • C:/Windows/Fonts
  • Program Files / Program Files (x86) 下的 WPS 安装目录
  • LOCALAPPDATA 下的 WPS 字体目录

若客户机器使用了非标准安装路径,可使用 styles/joufontspaths.local.example.tex 定义本地覆盖文件。

编译输出示例

有标准学术字体时(最佳):

===============================================
Font Mode: system-licensed
Status: Using system academic standard fonts (Excellent)
===============================================

无标准字体时(开源字体 fallback):

===============================================
Font Mode: oss
Status: Using open source academic fallback fonts (Preview)
===============================================

TIP: For best academic output, prefer KaiTi_GB2312,
     SimSun, SimHei, and Times New Roman.
     Check: python3 scripts/check_fonts.py

模板会自动选择最佳可用字体,开源字体完全可用于日常预览和开发。

最终提交检查(可选):

如需确保使用标准正式字体,可启用严格模式:

\documentclass[strictfonts]{jouthesis}  % 最终提交前检查

字体映射表

学术标准字体 优先使用 开源兜底
Times New Roman 系统 / 本地 Times New Roman Tinos
Courier New 系统 / 本地 Courier New Courier Prime
宋体 SimSun / STSong Noto Serif CJK SC
黑体 SimHei / STHeiti Noto Sans CJK SC
楷体 / 楷体GB2312 KaiTiGB2312 / KaiTi / STKaiti LXGW WenKai GB
仿宋 / 仿宋GB2312 FangSong / STFangsong FandolFang
方正小标宋简体 FZXiaoBiaoSong-B05 Noto Serif CJK SC Black
华文行楷 STXingkai LXGW WenKai GB Medium

注意:仓库不会分发商业字体文件。完整说明见 fonts/README.md

质量保证

tests/test_pixel_perfect_alignment.py

校验工作手册模板的基线契约:

  • 参考 docx/pdf 是否存在
  • 18 个模板的 tex/pdf 是否完整
  • 表格列宽与 Word XML 表格网格是否一致
  • 产物 PDF 的页数、方向、分页锚点是否匹配
  • 字体资源和嵌入字体是否符合仓库约定

tests/test_thesis_alignment.py

专项校验论文主模板:

  • 封面、声明、摘要、目录、正文、参考文献等关键页顺序
  • 目录和正文标题体例
  • 页眉关键字与分页关系
  • 嵌入字体是否符合当前字体模式

项目结构

JOU-Undergraduate-Thesis-LaTeX-Template/
├── main.tex
├── Makefile
├── contents/
├── docs/
├── figures/
├── fonts/
│   ├── opensource/
│   └── proprietary/
├── references/
├── scripts/
├── styles/
│   ├── joufonts.sty
│   ├── jouhandbook.sty
│   └── jouthesis.cls
├── templates/
└── tests/

常见问题

编译时报“字体未找到”

先执行 make fonts。默认模式不要求系统预装标准正式字体。

想用本机的方正或微软字体

把字体文件放入 fonts/proprietary/,文件名需与 fonts/README.md 中的约定一致。

为什么 README 不再直接承诺“绝对像素级一致”

当前仓库对齐标准已经写进 E2E,但公开可复现的是“WPS 渲染基线 + 版式/分页/字体契约”。如果你要进一步做逐像素叠图,需要在同一字体资源和同一渲染器环境下再增加图像 diff 流程。

文档

文件 内容
docs/README.md 文档索引
docs/guides/usage.md 论文正文使用说明
docs/guides/table-examples.md 表格示例
docs/guides/assets.md 图片资源说明
templates/README.md 配套模板说明
fonts/README.md 字体策略与覆盖方式
slides/README.md 演示文稿生成说明

开源许可

项目代码采用 Project Public License v1.3c

仓库中的开源字体分别遵循其各自许可证,许可证副本位于 fonts/opensource/licenses/

...
Gästebuch Seiten-Struktur Impressum Autor kontaktieren