mcpField
P
paper-spine-latex

paper-spine-latex

github.com/wubing2023文档处理6.1k361 次安装2 周前更新
代码仓库

关于 paper-spine-latex

paper-spine-latex 是用于组装和检查 LaTeX 论文的 Agent 技能。它处理模板整合、图表和引文,同时将稿件内容与排版工作分开。

主要功能

  1. 01组装 LaTeX 项目
  2. 02整合论文模板
  3. 03放置图表并设置稳定标签
  4. 04处理引文与参考文献
  5. 05编译与源码检查

适用场景

  1. 01套用目标 LaTeX 模板
  2. 02整理论文图表和引文
  3. 03交付 PDF 前检查项目

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wubing2023/paperspine --skill paper-spine-latex

安装后在 Claude Code 中输入/paper-spine-latex确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
latex-source-control.md
round3-latex-polish.md
round4-template-integration.md
translation-package.md
scripts/
_paper_spine_utils.py
humanize_check.py
latex_guard.py
word_guard.py

详细介绍

PaperSpine LaTeX

用于 LaTeX 组装、模板集成、图表放置、引用、标签和编译安全检查。除非重写或构建输出有要求,否则不要更改稿件逻辑。

必需输入

  • 修订后的稿件或构建完成的稿件
  • 目标模板(如有)
  • 图表、参考文献和源文件
  • 使用材料构建时的 paper_rewriting_output/figure_asset_map.md

必需输出

  • 更新后的 LaTeX 项目;使用材料构建时,保存为 paper_rewriting_output/final_paper/main.tex
  • TeX 引擎可用时编译生成的 PDF;使用材料构建时,保存为 paper_rewriting_output/final_paper/paper.pdf
  • paper_rewriting_output/latex_report.md
  • 生成最终交付物时的 paper_rewriting_output/final_artifact_manifest.md
  • 可选的 paper_rewriting_output/final_paper/paper.docx 和 paper_rewriting_output/word_report.md

规则

  • 项目路径可能包含空格或非 ASCII 字符(例如 exp_lab_en - 副本)。传递给 pandoc/copy 命令的每个路径都要加引号,并避免使用 未加引号的 shell 通配符;它们在此类目录中会静默出错。在 Windows 上, 文件操作优先使用 PowerShell。
  • 将内容工作与 LaTeX 脚手架分开。
  • 除非有经核实的更名理由,否则保留引用键和标签。
  • 将获批图像复制到 figures/,并使用稳定的标签。
  • 如果可用,运行 scripts/latex_guard.py。
  • 在 latex_report.md 中记录未解决的编译或资源问题。
  • 如果工作流是 build_from_materials,不要将 Markdown 视为最终稿件。
  • 对于中文输出,优先使用 XeLaTeX 和支持 CJK 的模板。对于英文输出,请遵循目标模板,或使用稳妥的 article 模板。
  • 如果没有可用的 TeX 引擎,请保留 .tex,并在 latex_report.md 中记录已跳过编译。
  • 如果有可用引擎但编译失败,请保留 .tex,在 latex_report.md 中写下第一个致命错误,并且不要声称产物检查通过。
  • 如果生成 Word 输出,请在 final_paper/ 目录中使用 pandoc。当稿件使用 BibTeX 引用时,请使用 citeproc 解析引用,使 \cite 命令呈现为格式化参考文献,而不是泄漏原始 LaTeX:
    cd final_paper
    pandoc main.tex -o paper.docx --from latex --to docx \
      --resource-path=. --extract-media=./media \
      --number-sections --citeproc --bibliography=references.bib
    
    • --citeproc --bibliography=references.bib 会呈现 \cite{...} 和参考文献列表;只有稿件不含引用时才省略
    • --number-sections 可使标题编号与 LaTeX 源文件一致
    • --resource-path=. 可解析 \includegraphics{figures/...} 路径
    • --extract-media=./media 会将图像嵌入 docx
    • 对于自定义样式(字体、标题样式、页边距),请添加 --reference-doc=reference.docx,该文件应基于目标模板构建
    • \ref/\autoref 交叉引用需要 pandoc-crossref 过滤器 (--filter pandoc-crossref);没有它们时,可能会呈现为 [?]
    • 如果没有这些标志,pandoc 会静默丢弃图像或引用,或生成空白 docx
    • 从 final_paper/ 目录运行,以确保 .tex 中的相对路径能正确解析
    • 不要使用会剥离编码的中间纯文本步骤
  • 运行 scripts/word_guard.py final_paper/paper.docx --markdown --output paper_rewriting_output/word_report.md,并在将 Word 文件作为可用文件提交前修复所有失败项。如果 word_guard 报告段落数为 0,请检查图像是否为支持的格式(PNG/JPG),以及 figures/ 目录是否存在。
  • 为确保 Word 输出忠实还原内容,请避免以下常见的 pandoc 错误:
    • 先展开 \input/\include(例如 latexpand main.tex > flat.tex), 再转换展开后的文件;pandoc 无法可靠地拉取子文件。
    • 展开或移除自定义的 \newcommand/\def 宏;pandoc 会丢弃无法解析的宏,导致内容静默丢失。
    • 保持表格简单(tabular/booktabs);tabularx、multirow 和嵌套表格在 docx 中经常错位,因此要逐一打开并检查每个表格。
    • Citeproc 默认按作者-日期格式呈现,因此数字编号的 LaTeX 样式(plain、 unsrt、ieeetr)在 Word 中会呈现不同。若要保留 [1] 这类数字引用,请传入数字型 CSL,例如 --csl=ieee.csl 或 --csl=vancouver.csl。
    • 对于中文,请使用 CJK 字体(例如 SimSun 或 Noto Serif CJK)构建 --reference-doc=reference.docx,否则字符会显示为方框。
    • 转换后,打开 docx 并确认标题、公式、图、表格和参考文献均已正确呈现。

进行 LaTeX 结构编辑前,请先阅读 references/latex-source-control.md。

评论

支持 Markdown