transfer-old-latex-to-new
This Claude Code skill migrates content from legacy LaTeX projects, Word documents, PDFs, or Markdown files into existing ChineseResearchLaTeX template projects. It extracts body text, bibliography entries, and related materials and places them into the content layer (extraTex/*.tex and references/*.bib) of target templates for NSFC proposals, research papers, theses, or CVs, without modifying template skeletons, styles, or shared packages.
git clone --depth 1 https://github.com/huangwb8/ChineseResearchLaTeX /tmp/transfer-old-latex-to-new && cp -r /tmp/transfer-old-latex-to-new/skills/transfer-old-latex-to-new ~/.claude/skills/transfer-old-latex-to-newSKILL.md
# ChineseResearchLaTeX 内容迁移技能 这个 skill 只做一件事:把旧材料里的正文、参考文献等内容,迁移到 **当前仓库已有模板项目** 的内容层。 它不是模板开发 skill,也不是公共包重构 skill。凡是要改模板源码、样式、`packages/bensz-*`、`projects/*` 内骨架文件、`main.tex`、`@config.tex`、`.cls`、`.sty`、profile、style 或构建脚本的任务,都应转给 `make-latex-model` 或对应产品线的模板开发流程。 ## 硬性边界 处理任务时必须始终遵守: - 绝不能修改 `packages/` 下任何公共包源码、模板实现、profile、style、脚本或共享资源 - 绝不能修改 `projects/` 下任何模板样式、入口骨架、wrapper、`main.tex`、`extraTex/@config.tex`、`.cls`、`.sty`、Lua/Python 构建脚本 - 只能把内容放到目标项目已有的内容层位置 - 如果现有模板没有合适承载位点,不能为了容纳内容去改模板;应明确报告“模板位点不足,需要模板开发 skill 介入” 当前仓库里默认可写的内容层只有 `extraTex/**/*.tex`(排除 `extraTex/@config.tex`)和 `references/**/*.bib`。 除非未来该 skill 的配置白名单明确放开,否则其它路径一律视为只读。 ## 与当前仓库结构对齐 这个 skill 仍然要识别目标产品线,但目的只是选对承载项目,而不是判断“该不该改 `packages/`”。 - NSFC:选择合适的 `projects/NSFC_*` - SCI 论文:选择 `projects/paper-sci-01/` - 毕业论文:选择最接近的 `projects/thesis-*` - 简历:选择 `projects/cv-01/` 然后把旧材料中的正文内容映射到这些现成项目的内容文件里;默认优先选择最接近的现有项目,而不是新建或重组模板结构。 ## 输入原则 不要要求用户先整理成固定输入协议。默认接受并消化任意合理输入,例如: - 一个完整旧项目目录 - 若干 `.tex` / `.bib` / `.docx` / `.md` / `.txt` - PDF、截图、图片 - 一份已有模板项目路径,加上一些迁移目标说明 - 多种输入混合出现 如果材料不完整,不要先追问“标准输入”;先判断目标产品线、合适承载项目、哪些内容能直接落入 `extraTex/*.tex` 或 `references/*.bib`,以及哪些诉求已经超出内容迁移边界。只有缺失信息会导致把正文放错位置时,才请求补充。 ## 输出原则 不要把输出理解成“任意重构仓库”。本 skill 的有效输出通常只有: - 把正文迁移到目标项目的 `extraTex/*.tex` - 把参考文献迁移到目标项目的 `references/*.bib` - 生成必要的迁移说明、风险提示、未落位清单 - 在构建成功后给出验证结果 以下动作都超出本 skill 的边界:模板源码改动、样式修复、wrapper / `main.tex` / `template.json` / README 的结构重写,以及公共包抽取或包级能力沉淀。默认把用户原始材料视为只读,目标模板视为只读骨架;样式差异只报告,不偷改。 ## 推荐工作流 ### 1. 识别目标产品线与承载项目 先回答三个问题:用户最终要落到哪条产品线、当前仓库哪个现有项目最适合作为承载容器、这次任务是“内容迁移”还是已经变成“模板开发”。如果已经变成模板开发,立即转交,不要继续伪装成内容迁移任务。 ### 2. 清点可迁移内容 从输入中提炼可直接复用的正文段落、BibTeX、需要人工确认的缺口,以及会触发模板改动需求的超界诉求。 ### 3. 做内容层映射 只在内容层做映射: - 旧正文 → `extraTex/*.tex` - 旧参考文献 → `references/*.bib` 不要把“映射”理解成: - 改章节命令 - 改模板标题样式 - 改目录/封面/页眉页脚 - 改公共包接口 ### 4. 执行迁移 执行时只允许覆盖目标内容文件、新建目标内容文件(若模板已有对应承载位点)、以及写入或补齐 `.bib`。 如果某项需求必须改模板骨架才能完成,不要继续自动修改;应明确标出受阻位置和原因,并建议改用 `make-latex-model`。 ### 5. 官方入口验证 迁移完成后,尽量用对应产品线的官方入口验证: - NSFC:`python packages/bensz-nsfc/scripts/nsfc_project_tool.py build --project-dir <项目路径>` - SCI:`python packages/bensz-paper/scripts/paper_project_tool.py build --project-dir <项目路径>` - Thesis:`python packages/bensz-thesis/scripts/thesis_project_tool.py build --project-dir <项目路径>` - CV:`python packages/bensz-cv/scripts/cv_project_tool.py build --project-dir <项目路径> --variant all` 如果构建失败且原因来自模板骨架缺口,不要私自修模板;应如实报告。 ## Legacy CLI 的定位 `scripts/run.py`、`scripts/migrate.sh` 仍然保留,但只作为经典 old/new 目录迁移的后备入口。即使使用 legacy CLI,也必须继续遵守本文件的硬性边界:旧项目可以读,新项目只能写内容层,不能借 CLI 绕过模板保护。 ## 不适用场景 以下场景不要继续使用本 skill 直接落地: - 用户要“做一个新模板” - 用户要“把旧样式 1:1 复刻到当前仓库” - 用户要改 `packages/bensz-*`、`projects/*` 里的模板入口或样式文件 - 用户要新增模板承载位点、封面结构、目录结构、profile、class、style 这些都应转交模板开发链路。 ## 参考材料 优先阅读本文件。需要 legacy CLI 细节时,再查看: - `scripts/README.md` - `references/quickstart.md` - `references/config_guide.md` - `references/api_reference.md` 确认边界时,始终优先遵循: - 只迁移内容,不改模板骨架 - 样式差异只报告,不偷改
当用户明确要求"核查/优化综述 `{主题}_review.tex` 的正文引用"或"运行 check-review-alignment"时使用。通过宿主 AI 的语义理解逐条核查引用是否与文献内容吻合,只在发现致命性引用错误时对"包含引用的句子"做最小化改写,并复用 `systematic-literature-review` 的渲染脚本输出 PDF/Word。核心原则:不为了改而改,无法确定是否为致命性错误时保留原样并在报告中警告。⚠️ 不适用:用户只是想生成系统综述正文(应使用 systematic-literature-review);用户只是想新增/核对 BibTeX 条目(应使用专门的 bib 管理流程)。
当用户明确要求"填充示例内容""生成示例""补充 LaTeX 示例"时使用。AI 增强版 LaTeX 示例智能生成器,实现 AI 与硬编码的有机融合:AI 做"语义理解"(分析章节主题、推理资源相关性、生成连贯叙述),硬编码做"结构保护"(格式验证、哈希校验、访问控制)。
当用户明确要求"从文件/图片/网页/描述中提取综述主题"或"生成主题+关键词+核心问题结构化输出"时使用。支持文件(PDF/Word/Markdown/Tex)、文件夹、图片、自然语言描述、网页 URL 等多种输入源,自动识别输入类型并提取内容,生成可直接用于 systematic-literature-review 及其他文献综述技能的结构化输出。
当用户明确要求"更新项目指南""同步指南""沉淀洞见到指南"时使用。将对话中新产生的可复用写作洞见实时沉淀到项目指南文件,保持术语口径一致、结构稳定、可检验与可复现。调用时必须指定指南文件路径。
当用户明确要求“LaTeX 模板优化”“样式参数对齐”“像素级比对”“make-latex-model”或旧写法“make_latex_model”,或要把 ChineseResearchLaTeX 里的某个项目做成高质量模板时使用。适配 NSFC / paper / thesis / cv 四条产品线;先依据 packages/ 与 projects/ 的真实分层判断改项目层还是公共包,再用各产品线官方构建入口验收。若必须修改 packages 下公共包,需先生成受影响模板回归计划并完成相关回归;NSFC 专项工具仅在明确属于 NSFC 参数对齐场景时按需使用。
当用户明确要求"写/润色 NSFC 标书摘要""生成中文摘要和英文摘要""把中文摘要翻译成英文摘要"时使用。输出中文、英文两个版本(英文必须是中文的忠实翻译版),同时输出标题建议(1个推荐标题+5个候选标题及理由)。中文摘要默认≤400字符,英文摘要默认≤4000字符。输出方式:将结果写入工作目录下的 `NSFC-ABSTRACTS.md`。⚠️ 不适用:用户只想翻译一段与标书无关的通用文本(应直接翻译);用户只想写立项依据/研究内容/研究基础正文(应使用对应 nsfc 系列 skill)。
当用户明确要求“写/生成 NSFC 预算说明书”“写预算说明”“生成 budget.tex / budget.pdf”“写国自然预算 justification”时使用。基于用户标书正文或补充材料,输出一份可提交的预算说明书 LaTeX 项目并渲染 `budget.pdf`。若用户未指定工作目录,必须暂停并先要求其指定。⚠️ 不适用:用户只是想了解预算原则;用户仅要预算表数字而不写说明书;或用户是 2026 青年 A/B/C 默认包干制且无需预算说明书的场景。
根据 NSFC 标书正文内容,结合申请代码推荐库,为你给出 5 组申请代码1/2(主/次)推荐与理由;输出到 NSFC-CODE-vYYYYMMDDHHmm.md(只读,不修改标书)