| name | course-reading-notes |
| description | Multi-course academic reading notes generator — paper selection, note writing, Nature-style figures, Chinese PDF, and submission packaging |
| keywords | ["课程作业","阅读笔记","论文阅读","course-assignment","reading-notes","academic-report","课程报告","论文笔记"] |
Course Reading Notes Skill
Generate complete, publication-quality course reading notes from scratch: paper selection, note writing, figures, Chinese PDF, and submission packaging. Multi-course generic.
When to use
- User asks for a course reading assignment, paper reading notes, or course report
- Keywords: "课程作业", "阅读笔记", "论文阅读", "course assignment", "reading report"
- Any course requiring structured academic notes with figures and PDF output
When NOT to use
- Only PDF generation needed (use
chinese-pdf skill instead)
- Only figure generation needed (use
nature-figure skill instead)
- Full paper reading/translation (use
nature-reader skill instead)
Workflow
Phase 1: Paper Selection
If user hasn't selected a paper, help find one. Criteria:
- Recency: Published within the last 5 years
- Venue: Top conferences (AAAI, IJCAI, NeurIPS, ICML, GECCO, PPSN, CEC) or top journals
- Open access: PDF freely downloadable (arxiv preferred)
- Open source code: GitHub repo with actual implementation, not placeholder
- Course relevance: Matches the course topic
Verification steps:
- Check GitHub repo has real code (stars, file structure, actual .py files)
- Verify arxiv PDF downloads successfully
- Extract paper title, authors, venue, year, abstract
Phase 2: Write Reading Notes
Structure (adaptable to course requirements):
# 论文阅读笔记
<center><b>学号 + 姓名</b></center>
## 论文基本信息
- **Title**: 论文英文标题
- **作者**: 作者列表
- **单位**: 作者单位
- **会议/期刊**: 发表 venue + year
- **关键词**: 3-5个关键词
## 一、摘要
论文核心问题、方法、结果的精炼总结(200-300字)
## 二、背景与动机
### 2.1 问题背景
### 2.2 现有方法局限
### 2.3 本文思路
## 三、方法
### 3.1 [核心方法1]
### 3.2 [核心方法2]
### 3.3 [训练/优化机制]
## 四、实验
### 4.1 实验设置
### 4.2 主要结果
### 4.3 [其他实验]
## 五、分析与思考
### 5.1 与课程内容的联系
### 5.2 优点
### 5.3 局限性
## 六、总结
2-3段总结性文字
## 参考资料
- 论文引用信息
- 开源代码链接
Phase 3: Generate Figures
Create 3-4 Nature-style figures for the notes. Common figure types:
| Figure Type | Purpose |
|---|
| Overview diagram | Conceptual comparison or method overview |
| Architecture diagram | Method/algorithm structure |
| Hierarchical tree | Modular structure or taxonomy |
| Line plots | Performance comparison curves |
| Bar charts | Quantitative results comparison |
Mandatory font loading (every figure script must start with):
import matplotlib.font_manager as fm
fm._load_fontmanager(try_read_cache=False)
CJK_FONT = '/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc'
prop = fm.FontProperties(fname=CJK_FONT, size=14)
Then pass fontproperties=prop to every text element (title, label, annotation, legend):
ax.set_title('标题', fontproperties=prop)
ax.set_xlabel('X轴', fontproperties=prop)
ax.text(x, y, '文本', fontproperties=prop)
ax.legend(prop=prop)
Never rely on plt.rcParams['font.sans-serif'] alone — it silently falls back to fonts without CJK glyphs, producing `` tofu boxes.
Other mandatory rules:
- Replace Unicode subscript/superscript with plain ASCII (S1 not S₁)
- Max image width 1000px for PDF embedding
- Image markdown:
{width=85%} — empty alt text to avoid duplicate captions
- Figure caption as italic text below image:
*图X:图注文字*
- Clean layout, restrained color palette (Nature style)
Common pitfalls:
- Never use
 — pandoc generates duplicate "Figure X: 图X:" labels
- Always use
{width=85%} with empty alt text
- Image files must be in
相关资料/ subdirectory
- Never use
family='monospace' for Chinese text (monospace fonts lack CJK glyphs)
Phase 4: Compile PDF
Markdown YAML frontmatter:
---
title: 论文阅读笔记
author: 学号 + 姓名
date: 2026年X月
documentclass: ctexart
geometry: margin=2.8cm
fontsize: 11pt
colorlinks: true
header-includes: |
\setlength{\emergencystretch}{3em}
---
Compilation command:
cd <作业目录>
pandoc 论文阅读笔记.md -o 论文阅读笔记.pdf --pdf-engine=xelatex --shift-heading-level-by=0
Critical:
- Must use
ctexart, NOT article + manual mainfont
margin=2.8cm prevents text hugging page edge
emergencystretch=3em helps Chinese long-sentence line-breaking
Phase 5: Package Submission
rm -f 相关资料/fig*_old.png
rm -f 作业名.zip
zip -r 作业名.zip 论文阅读笔记.md 论文阅读笔记.pdf 相关资料/
Verification Checklist
Before declaring complete:
Example Usage
User: "这是我的课程作业要求,帮我完成一份论文阅读笔记"
Assistant: [invokes course-reading-notes skill]
1. Find appropriate paper
2. Write structured notes
3. Generate 4 figures
4. Compile PDF
5. Package submission