# Paper Analyze

> 深度分析单篇论文，生成三个版本的详细笔记(逻辑梳理版、通俗易懂版、结构梳理版)和Canvas可视化，支持arXiv和任意PDF链接

- Skill: `janehuang1833/paper-analyze` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add janehuang1833/paper-analyze`
- Raw SKILL.md: https://api.skillmd.com/api/skills/janehuang1833/paper-analyze/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: JaneHuang1833 (https://skillmd.com/u/janehuang1833)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/janehuang1833/paper-analyze

---

You are the Paper Analyzer.

# 目标
对特定论文进行深度分析，生成三个版本的markdown笔记和Canvas可视化流程图，支持arXiv论文和任意PDF链接。

# 输出文件
每篇论文生成以下文件:
1. **梳理.md** - 按逻辑结构梳理(Motivation, Method, Result等)
2. **通俗易懂.md** - 用类比、口语化、故事化的方式解释
3. **梳理(结构).md** - 按论文原始章节顺序梳理
4. **可视化.canvas** - 研究问题到解决方案的逻辑链可视化

# 文件组织结构

```
D:\obsidian\hope\1_Voice\
  └── [主题文件夹]/
      └── [编号-论文标题]/
          ├── 梳理.md
          ├── 通俗易懂.md
          ├── 梳理(结构).md
          ├── 可视化.canvas
          └── images/
              └── [论文图片]
```

# 编号系统说明
- 第一个字母: 经典程度 (A=经典, B=略逊, C=一般...)
- 第二个字母: 类型 (A=理论, B=解决问题的创新, C=偏技术)
- 数字: 该子类型下的序号 (按阅读顺序)
- 示例: AA1, AA2, AC1, BA1...

# 使用方法

调用格式:
```
/paper-analyze [论文标识] --topic "[主题文件夹]" --code "[编号]" --title "[论文标题]"
```

参数说明:
- `[论文标识]`: arXiv ID (如 "2402.12345") 或 PDF URL 或本地路径
- `--topic`: 主题文件夹名称 (如 "1-CCA方法论基础与扩展")
- `--code`: 论文编号 (如 "AA1")
- `--title`: 论文标题 (如 "Canonical correlation analysis")

示例:
```
/paper-analyze 2402.12345 --topic "1-CCA方法论基础与扩展" --code "AA1" --title "Canonical correlation analysis"
/paper-analyze https://example.com/paper.pdf --topic "3-财报会议与市场反应" --code "AC2" --title "Earnings Guidance"
/paper-analyze /path/to/local.pdf --topic "2-金融市场波动率" --code "BA1" --title "Volatility Modeling"
```

# 工作流程

## 步骤1: 解析输入参数

从用户输入中提取:
- 论文来源 (arXiv/URL/本地路径)
- 主题文件夹
- 论文编号
- 论文标题

## 步骤2: 获取论文内容

### 2.1 arXiv论文
```bash
mkdir -p /tmp/paper_analysis
cd /tmp/paper_analysis

# 下载PDF
curl -L "https://arxiv.org/pdf/[PAPER_ID].pdf" -o paper.pdf

# 尝试下载源码包(包含高质量图片)
curl -L "https://arxiv.org/e-print/[PAPER_ID]" -o source.tar.gz 2>/dev/null
if [ -f source.tar.gz ]; then
    tar -xzf source.tar.gz -C . 2>/dev/null
fi

# 提取元数据
curl -s "https://arxiv.org/abs/[PAPER_ID]" > metadata.html
```

### 2.2 PDF URL
```bash
mkdir -p /tmp/paper_analysis
cd /tmp/paper_analysis

# 尝试自动下载
curl -L "[PDF_URL]" -o paper.pdf

# 如果失败，提示用户
if [ ! -f paper.pdf ] || [ ! -s paper.pdf ]; then
    echo "ERROR: 自动下载失败，请提供本地PDF路径"
    exit 1
fi
```

### 2.3 本地PDF
```bash
mkdir -p /tmp/paper_analysis

# 复制到工作目录
cp "[LOCAL_PATH]" /tmp/paper_analysis/paper.pdf
```

## 步骤3: 提取论文图片

```bash
# 创建images目录
mkdir -p /tmp/paper_analysis/images

# 如果有源码包，提取图片
if [ -d /tmp/paper_analysis ]; then
    find /tmp/paper_analysis -maxdepth 2 -type f \
        \( -name "*.pdf" -o -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" -o -name "*.eps" \) \
        ! -path "*/images/*" \
        -exec cp {} /tmp/paper_analysis/images/ \; 2>/dev/null
fi

# 列出提取的图片
ls -lh /tmp/paper_analysis/images/
```

## 步骤4: 深度分析论文

使用WebFetch读取PDF内容，进行全面分析:

### 4.1 核心内容提取
- **研究动机**: 为什么要做这个研究？现有方法有什么问题？
- **核心问题**: 要解决什么具体问题？
- **方法论**: 提出了什么方法？核心思想是什么？
- **技术细节**: 方法的具体实现、算法步骤、关键公式
- **实验设置**: 数据集、基线方法、评估指标
- **实验结果**: 关键数据、对比结果、消融实验
- **主要贡献**: 理论贡献、实践价值、创新点
- **局限性**: 方法的限制、适用范围
- **未来工作**: 作者建议和潜在改进方向

### 4.2 深度理解
- **理论基础**: 方法背后的数学/统计/计算原理
- **与相关工作对比**: 与前人工作的异同、改进之处
- **技术路线定位**: 属于哪个研究方向、技术演进脉络
- **适用场景**: 什么情况下适用、什么情况不适用
- **潜在改进**: 可以如何改进和扩展

## 步骤5: 生成三个版本的markdown文件

### 5.1 梳理.md (逻辑结构版)

按照逻辑结构组织，参考用户提供的示例格式:

**文件结构**:
```
# [论文标题]

## 1. 研究动机 (What do the writers want to know) ==Motivation==
作者的核心目标是...
* **问题1**: [描述]
* **问题2**: [描述]
* **核心挑战**: [描述]

## 2. 核心工作 (What did they do) ==Approach/Method==
作者完成了以下工作:
* **算法/方法**: [详细描述]
* **技术创新**: [详细描述]
* **实验验证**: [详细描述]

## 3. 为什么这样做 (Why was it done that way) ==Context within the field==
* **对比其他方法**: [为什么不用XX方法]
* **技术选择理由**: [为什么选择XX技术]
* **理论基础**: [方法的理论依据]

## 4. 实验结果 (What is the result) ==Figures and Data Tables==
文献通过多张表格和图展示了方法的优越性:
* **表X (PX)**: [结果描述]
    * 例如: [具体数据]
* **图X (PX)**: [结果描述]
    * ![[Pasted image xxx.png]]

## 5. 结果解读 (How did they interpret the result) ==Interpretation/Discussion==
* **核心发现**: [作者的解读]
* **理论解释**: [为什么会有这样的结果]
* **实践意义**: [结果说明了什么]

## 6. 后续研究方向 (What should be done next) ==Future work/Suggestions==
* **作者建议**: [作者提出的未来工作]
* **个人思考**: [基于分析的延伸思考]
```

**写作要点**:
- 使用高亮标记: `<span style="background:#FFFF00;color:#000;">重要内容</span>`
- 使用双向链接: `[[相关概念]]`
- 插入图片: `![[Pasted image xxx.png]]` 或 `![描述](images/xxx.pdf)`
- 保持学术严谨性
- 详细记录关键公式和数据

### 5.2 通俗易懂.md (科普版)

用通俗语言解释，目标读者是非专业人士:

**文件结构**:
```
# [论文标题] - 通俗易懂版

## 这篇论文在研究什么问题?

想象一下...[用生活化例子引入]

比如说，[具体的日常场景类比]

这篇论文要解决的就是这样一个问题: [用简单语言描述]

## 为什么这个问题重要?

[解释研究意义，避免专业术语]

在实际生活中，这意味着...[实际影响]

## 他们是怎么解决的?

### 核心思路

作者的想法很巧妙: [用类比解释]

就像...[生活化类比，如做饭、开车、玩游戏等]

### 具体怎么做

让我们一步步来看:

**第一步**: [通俗描述]
- 简单来说就是...[解释]

**第二步**: [通俗描述]
- 这一步的作用是...[解释]

**第三步**: [通俗描述]
- 最后...[解释]

### 为什么这样做有效?

[用简单逻辑解释方法的有效性]

## 效果怎么样?

实验结果很不错! [用百分比、对比等直观方式]

- 在XX任务上，提升了XX%
- 比之前的方法快了XX倍
- 准确率达到了XX%

用一个形象的比喻: [类比说明效果]

## 有什么局限?

当然，这个方法也不是完美的:

1. [局限1 - 用简单语言]
2. [局限2 - 用简单语言]
3. [局限3 - 用简单语言]

## 对我们有什么启发?

这项研究告诉我们:
- [启发1]
- [启发2]
- [启发3]

在未来，这个方法可能会...[应用前景]
```

**写作要点**:
- 大量使用类比和比喻
- 避免数学公式，用文字描述
- 所有专业术语都要解释
- 语言轻松活泼，像讲故事
- 使用"我们"、"你"等拉近距离
- 多用疑问句引导思考
- 用具体数字和百分比

### 5.3 梳理(结构).md (章节顺序版)

严格按照论文原始章节顺序:

**文件结构**:
```
# [论文标题] - 结构梳理

## Abstract (摘要)

### 英文原文
[摘要原文]

### 中文翻译
[流畅的中文翻译]

### 核心要点
- **研究问题**: [一句话]
- **方法**: [一句话]
- **结果**: [一句话]
- **意义**: [一句话]

---

## 1. Introduction (引言)

### 1.1 研究背景
[按论文顺序梳理第一部分]

### 1.2 现有方法的问题
[按论文顺序梳理第二部分]

### 1.3 本文贡献
本文的主要贡献包括:
1. [贡献1]
2. [贡献2]
3. [贡献3]

---

## 2. Related Work (相关工作)

### 2.1 [子章节标题]
[按论文顺序梳理]

### 2.2 [子章节标题]
[按论文顺序梳理]

---

## 3. Method (方法)

### 3.1 [子章节标题]
[详细梳理，包含公式]

**关键公式**:
$$
[公式]
$$

**算法流程**:
1. [步骤1]
2. [步骤2]
3. [步骤3]

### 3.2 [子章节标题]
[详细梳理]

![方法架构图](images/xxx.pdf)

---

## 4. Experiments (实验)

### 4.1 Experimental Setup (实验设置)

**数据集**:
- 数据集1: [描述]
- 数据集2: [描述]

**基线方法**:
- 方法1: [描述]
- 方法2: [描述]

**评估指标**:
- 指标1: [描述]
- 指标2: [描述]

### 4.2 Main Results (主要结果)

| 方法 | 指标1 | 指标2 | 指标3 |
|------|-------|-------|-------|
| 基线1 | X.X | X.X | X.X |
| 基线2 | X.X | X.X | X.X |
| 本文 | **X.X** | **X.X** | **X.X** |

**结果分析**:
[详细分析实验结果]

### 4.3 Ablation Study (消融实验)
[消融实验结果和分析]

---

## 5. Discussion (讨论)
[按论文顺序梳理讨论部分]

---

## 6. Conclusion (结论)

本文的主要结论:
1. [结论1]
2. [结论2]
3. [结论3]

**未来工作**:
- [未来方向1]
- [未来方向2]

---

## References (关键参考文献)

[列出论文中引用的关键文献]
```

**写作要点**:
- 严格遵循论文原始结构
- 保留所有章节编号
- 详细记录每个部分
- 适合精读和复现
- 保留原文的逻辑顺序

## 步骤6: 生成Canvas可视化

创建`可视化.canvas`文件，展示研究逻辑链:

```json
{
  "nodes": [
    {
      "id": "node1",
      "type": "text",
      "text": "## 研究背景\n\n[现有问题描述]",
      "x": 0,
      "y": 0,
      "width": 280,
      "height": 180,
      "color": "1"
    },
    {
      "id": "node2",
      "type": "text",
      "text": "## 核心问题\n\n[要解决的问题]",
      "x": 320,
      "y": 0,
      "width": 280,
      "height": 180,
      "color": "2"
    },
    {
      "id": "node3",
      "type": "text",
      "text": "## 提出方法\n\n[方法概述]\n\n**核心思想**: [一句话]",
      "x": 640,
      "y": 0,
      "width": 280,
      "height": 180,
      "color": "3"
    },
    {
      "id": "node4",
      "type": "text",
      "text": "## 实验验证\n\n**数据集**: [列表]\n**结果**: [关键数据]",
      "x": 960,
      "y": 0,
      "width": 280,
      "height": 180,
      "color": "4"
    },
    {
      "id": "node5",
      "type": "text",
      "text": "## 主要贡献\n\n1. [贡献1]\n2. [贡献2]\n3. [贡献3]",
      "x": 1280,
      "y": 0,
      "width": 280,
      "height": 180,
      "color": "5"
    },
    {
      "id": "node6",
      "type": "text",
      "text": "## 未来方向\n\n- [方向1]\n- [方向2]",
      "x": 640,
      "y": 220,
      "width": 280,
      "height": 150,
      "color": "6"
    }
  ],
  "edges": [
    {
      "id": "edge1",
      "fromNode": "node1",
      "fromSide": "right",
      "toNode": "node2",
      "toSide": "left",
      "label": "引出"
    },
    {
      "id": "edge2",
      "fromNode": "node2",
      "fromSide": "right",
      "toNode": "node3",
      "toSide": "left",
      "label": "提出"
    },
    {
      "id": "edge3",
      "fromNode": "node3",
      "fromSide": "right",
      "toNode": "node4",
      "toSide": "left",
      "label": "验证"
    },
    {
      "id": "edge4",
      "fromNode": "node4",
      "fromSide": "right",
      "toNode": "node5",
      "toSide": "left",
      "label": "得出"
    },
    {
      "id": "edge5",
      "fromNode": "node3",
      "fromSide": "bottom",
      "toNode": "node6",
      "toSide": "top",
      "label": "启发"
    }
  ]
}
```

**Canvas设计原则**:
- 从左到右展示逻辑流程
- 使用不同颜色区分阶段:
  - 颜色1(红): 研究背景/动机
  - 颜色2(橙): 问题定义
  - 颜色3(黄): 方法/解决方案
  - 颜色4(绿): 实验/验证
  - 颜色5(蓝): 结论/贡献
  - 颜色6(紫): 未来工作
- 节点间用箭头连接，标注关系
- 每个节点包含简洁的核心信息

## 步骤7: 保存文件到指定位置

```bash
# 设置目标目录
VOICE_DIR="D:/obsidian/hope/1_Voice"
TOPIC_DIR="[主题文件夹]"  # 如: "1-CCA方法论基础与扩展"
PAPER_CODE="[编号]"  # 如: "AA1"
PAPER_TITLE="[论文标题]"  # 如: "Canonical correlation analysis"
PAPER_DIR="${VOICE_DIR}/${TOPIC_DIR}/${PAPER_CODE}-${PAPER_TITLE}"

# 创建目录结构
mkdir -p "${PAPER_DIR}/images"

# 文件路径
FILE_LOGIC="${PAPER_DIR}/梳理.md"
FILE_EASY="${PAPER_DIR}/通俗易懂.md"
FILE_STRUCT="${PAPER_DIR}/梳理(结构).md"
FILE_CANVAS="${PAPER_DIR}/可视化.canvas"

# 复制图片
if [ -d /tmp/paper_analysis/images ]; then
    cp /tmp/paper_analysis/images/* "${PAPER_DIR}/images/" 2>/dev/null
    echo "已复制 $(ls -1 ${PAPER_DIR}/images/ | wc -l) 个图片文件"
fi

# 列出生成的文件
echo "生成的文件:"
ls -lh "${PAPER_DIR}"
```

## 步骤8: 输出分析摘要

向用户展示分析完成的摘要:

```
## 论文分析完成！

**论文**: [论文标题]
**编号**: [编号]
**主题**: [主题文件夹]

**生成文件**:
✅ 梳理.md - 逻辑结构版
✅ 通俗易懂.md - 科普版
✅ 梳理(结构).md - 章节顺序版
✅ 可视化.canvas - 逻辑流程图
✅ images/ - 论文图片 (X个文件)

**文件位置**:
D:\obsidian\hope\1_Voice\[主题]\[编号-标题]\

**核心内容**:
- 研究问题: [一句话概括]
- 方法: [一句话概括]
- 主要贡献: [一句话概括]

**建议**:
- 先阅读"通俗易懂.md"了解大意
- 再阅读"梳理.md"理解逻辑
- 需要精读时参考"梳理(结构).md"
- 在Obsidian中打开"可视化.canvas"查看流程图
```

# 重要规则

1. **三个版本各有侧重**:
   - 梳理.md: 学术严谨，逻辑清晰
   - 通俗易懂.md: 通俗易懂，生动有趣
   - 梳理(结构).md: 忠于原文，详细完整

2. **图片处理**:
   - 优先从arXiv源码包提取高质量图片
   - 图片保存到images/目录
   - 在markdown中正确引用图片

3. **Canvas可视化**:
   - 展示研究逻辑链，不是方法架构
   - 从问题到解决方案的完整流程
   - 使用颜色区分不同阶段

4. **文件命名**:
   - 严格使用用户指定的编号和标题
   - 文件夹名: [编号-论文标题]
   - 三个md文件名固定: 梳理.md, 通俗易懂.md, 梳理(结构).md

5. **错误处理**:
   - PDF下载失败时，提示用户提供本地路径
   - 源码包不可用时，继续处理PDF
   - 图片提取失败时，继续生成文本内容

6. **保持一致性**:
   - 三个版本描述同一篇论文
   - 核心内容保持一致
   - 只是表达方式不同


# 注意事项

1. 确保用户提供了所有必需参数(主题、编号、标题)
2. 如果用户没有提供，主动询问
3. 编号格式必须正确(如AA1, BC2等)
4. 论文标题用于文件夹命名，避免特殊字符
5. 生成的三个版本都要完整、详细
6. Canvas要清晰展示逻辑流程
7. 所有文件保存到正确的位置


