Skip to content
This repository was archived by the owner on May 17, 2026. It is now read-only.

讲稿系统、完整构建脚本、GitHub Actions CI 及文档同步#2

Merged
Cle2ment merged 13 commits into
masterfrom
note
May 10, 2026
Merged

讲稿系统、完整构建脚本、GitHub Actions CI 及文档同步#2
Cle2ment merged 13 commits into
masterfrom
note

Conversation

@Cle2ment
Copy link
Copy Markdown
Owner

note/ 讲稿系统(47页)+ build-all 脚本 + GitHub Actions CI + products/ 输出 + 项目结构重构 + 文档同步

Cle2ment added 13 commits May 10, 2026 19:23
- slides/ → slide/chapters/:幻灯片片段移至子目录
- main.tex → slide/main.tex:入口文件收归 slide/
- .latexmkrc 移至 slide/,输出到 slide/build/
- 根目录零 main.* 残留
- 更新所有脚本(bat/ps1/py)和文档(AGENTS.md/README.md)的路径引用
- 修复图片路径:images/ → ../images/(适配 main.tex 新位置)
- 所有 main.tex → slide/main.tex
- .latexmkrc 路径更新为 slide/.latexmkrc
- build/ → slide/build/
- 编译命令更新为 cd slide && latexmk -xelatex main.tex
- 移除遗留 build/ 目录引用
- note/main.tex + .latexmkrc:讲稿入口及编译配置
- note/chapters/:8个讲稿章节,与幻灯片内容同步
  - 00-opening:讲座开场、模拟考试概况
  - 10-choice-1:选择题 Q1-10 讲稿
  - 11-choice-2:选择题 Q11-20 讲稿
  - 20-basic-blank:基本概念填空题讲稿
  - 30-reading:阅读程序 Q1-5 讲稿
  - 31-reading-2:阅读程序 Q6-10 讲稿
  - 40-complete:程序完善题 Q1-3 讲稿
  - 50-programming:编程题电梯调度系统讲稿
- scripts/build-all.bat:一键构建 PPT + 讲稿
- scripts/build-all.ps1:PowerShell 完整构建
- scripts/clean-all.bat:清理所有构建产物
- 更新 AGENTS.md / README.md:构建命令、项目结构
- push/PR 时自动编译 slide + note(texlive/texlive 镜像)
- 检测 ! 错误行,失败时阻止合并
- 上传 PDF 为 artifact(保留 7 天)
- 仅 slide/ note/ scripts/ 变更时触发
- build-all.bat/ps1 + build.bat/ps1 编译完成后自动复制 PDF
- slide/build/main.pdf → products/展示.pdf
- note/build/main.pdf → products/讲稿.pdf
- AGENTS.md:95页、深蓝灰配色表、无 pause 的拆分 frame 结构
- AGENTS.md:添加 products/ + .github/ 到项目结构
- README.md:完整构建流程,包含 build-all.ps1 和 products/ 输出
- README.md:figures/ → images/,新增 .github/ 和 products/
- README.md:构建命令按推荐度排序(build-all 优先)
Copilot AI review requested due to automatic review settings May 10, 2026 13:54
@Cle2ment Cle2ment merged commit 242162d into master May 10, 2026
4 of 6 checks passed
@Cle2ment Cle2ment deleted the note branch May 10, 2026 13:54
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR restructures the LaTeX slide project into slide/ (Beamer) and adds a parallel note/ (ctexart) speaker-notes system, along with end-to-end build scripts and a GitHub Actions CI workflow to compile both outputs.

Changes:

  • Move slide chapter fragments under slide/chapters/ and update slide/main.tex inputs accordingly.
  • Add note/ document (讲稿系统) with chapterized content mirroring the slide structure.
  • Add build/clean scripts (build-all.*, updated build.*) plus CI workflow to compile slide + note and upload PDFs as artifacts.

Reviewed changes

Copilot reviewed 22 out of 34 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
slide/main.tex Updates \input{...} paths to the new slide/chapters/ structure.
slide/chapters/01-title.tex Adjusts logo image paths used on the title page.
slide/chapters/02-outline.tex Adds outline/table-of-contents frame in new location.
slide/chapters/10-choice-1.tex Adds choice questions (Q1–10) slide content under new structure.
slide/chapters/11-choice-2.tex Adds choice questions (Q11–20) slide content under new structure.
slide/chapters/20-basic-blank.tex Adds basic fill-in questions slide content.
slide/chapters/30-reading-1.tex Adds reading-program questions (Q1–5) slide content.
slide/chapters/31-reading-2.tex Adds reading-program questions (Q6–10) slide content.
slide/chapters/40-complete.tex Adds “program completion” slide content.
slide/chapters/50-programming.tex Adds programming question slide content (elevator scheduling).
slide/chapters/99-end.tex Adds closing/thanks slide.
slide/.latexmkrc Introduces latexmk configuration for slide build output to slide/build/.
scripts/gen_note.py Updates PDF input path to slide/build/main.pdf for text extraction.
scripts/clean.bat Updates cleaning target to slide/build/.
scripts/clean-all.bat Adds script to clean both slide/build/ and note/build/.
scripts/build.ps1 Updates PowerShell build to compile slides from slide/ and copy to products/.
scripts/build.bat Updates batch build to compile slides from slide/ and copy to products/.
scripts/build-all.ps1 Adds PowerShell full build for slide + note and copies outputs to products/.
scripts/build-all.bat Adds batch full build for slide + note and copies outputs to products/.
README.md Updates repository layout and build instructions to reflect new structure.
note/main.tex Adds ctexart-based note document entry point with chapter inputs.
note/chapters/00-opening.tex Adds opening section for speaker notes.
note/chapters/10-choice-1.tex Adds speaker notes for choice questions (Q1–10).
note/chapters/11-choice-2.tex Adds speaker notes for choice questions (Q11–20).
note/chapters/20-basic-blank.tex Adds speaker notes for basic fill-in questions.
note/chapters/30-reading.tex Adds speaker notes for reading-program questions (Q1–5).
note/chapters/31-reading-2.tex Adds speaker notes for reading-program questions (Q6–10).
note/chapters/40-complete.tex Adds speaker notes for “program completion” section.
note/chapters/50-programming.tex Adds speaker notes for the programming question section.
note/.latexmkrc Introduces latexmk configuration for note build output to note/build/.
code/.gitkeep Keeps an otherwise empty code/ directory in the repo.
AGENTS.md Updates project documentation (structure/build commands/conventions).
.gitignore Updates ignored paths (including images/ and products/).
.github/workflows/latex-build.yml Adds CI workflow to compile slide + note with XeLaTeX and upload PDFs.
Comments suppressed due to low confidence (2)

slide/chapters/01-title.tex:6

  • 当前仓库中未找到被引用的 ../images/致远书院.png../images/ENI-name-logo.png(也没有 images/ 目录)。这样会导致 XeLaTeX 编译在标题页直接失败。建议将所需图片文件加入仓库(且不要被 .gitignore 排除),或改为引用仓库内实际存在的图片路径。
    scripts/gen_note.py:12
  • gen_note.py 的提示语写的是“请先运行 build.bat”,但仓库内脚本实际位于 scripts/build.bat,且现在也提供了 build-all.*。建议把提示语改为明确的命令(例如 scripts/build.bat / scripts/build-all.bat),避免用户在仓库根目录找不到对应脚本。
pdf_path = os.path.join(os.path.dirname(__file__), '..', 'slide', 'build', 'main.pdf')
if not os.path.exists(pdf_path):
    print(f"PDF 不存在: {pdf_path}")
    print("请先运行 build.bat 编译生成 PDF")
    exit(1)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md
Comment on lines 22 to 32
@@ -29,19 +31,27 @@
│ ├── 50-programming.tex ← 编程题:电梯调度系统
│ └── 99-end.tex ← 结束页
Comment thread AGENTS.md
Comment on lines 35 to +45
## 配色方案

克莱因蓝 (International Klein Blue, RGB 0,47,167) 全蓝色系,定义在 `main.tex` 前言区:
深蓝灰 + 亮蓝 accent + 暖琥珀色答案高亮,定义在 `slide/main.tex` 前言区:

| 色名 | RGB | 用途 |
|------|-----|------|
| primary | (0,38,150) | frametitle, block 标题, 进度条 |
| accent | (0,55,180) | 项目符号, 结构元素, 代码关键词 |
| highlight | (0,90,210) | 答案标注(`\color{highlight}`) |
| accentlight | (222,234,254) | block 背景 |
| bglight / bglighter | (244,247,254) / (250,251,255) | block body / code 背景 |
| primary | (30,41,59) | frametitle, block 标题, 进度条 |
| accent | (59,130,246) | 项目符号, 结构元素, 代码关键词 |
| highlight | (217,119,6) | 答案标注(`\color{highlight}`),暖琥珀色 |
| accentlight | (219,234,254) | block 背景 |
| bglight / bglighter | (241,245,249) / (248,250,252) | block body / code 背景 |
Comment thread scripts/build.bat
Comment on lines +11 to +15
echo PDF 已生成: slide\build\main.pdf
echo.
if not exist "products" mkdir products
copy /y "slide\build\main.pdf" "products\展示.pdf"
echo 已复制到: products\展示.pdf
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants