SuperAPI AI 工具集

paper-spine-latex

写作与研究

查看项目

更新于 10-15 17:04

技能介绍

PaperSpine LaTeX 是 PaperSpine 工作流中的一个内部步骤技能,主要用于 LaTeX 项目的组装、模板集成、图片放置、引用与标签管理,以及编译安全性检查。除非重写或构建输出要求,否则不应改动稿件逻辑。

用途 该技能面向 LaTeX 论文项目的工程化整理与编译安全,帮助把修订稿或已构建稿、目标模板、图片、表格、参考文献和源文件组装为可编译的 LaTeX 项目,并生成相应报告。

主要能力

  • 处理 LaTeX 项目组装与模板集成。
  • 处理图片放置、引用、标签与编译安全清理。
  • 在可用时运行 scripts/latex_guard.py。
  • 生成 latex_report.md,记录未解决的编译或资源问题。
  • 在产出最终交付物时生成 final_artifact_manifest.md。
  • 可选生成 paper.docx 与 word_report.md。

使用方式 所需输入包括:修订稿或已构建稿;目标模板(如有);图片、表格、参考文献和源文件;从材料构建时需提供 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/复制命令的每个路径都要加引号,避免未加引号的 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 输出 如果生成 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。

适用场景 适用于 PaperSpine 工作流中的 LaTeX 论文组装、模板集成、图片与引用管理、编译安全检查,以及从材料构建最终论文并生成 PDF、报告和可选 Word 文档的场景。

限制 该技能是 PaperSpine 的内部步骤,不改变稿件逻辑。编译依赖可用的 TeX 引擎;无引擎时仅保留 .tex 并记录跳过编译。Word 输出依赖 pandoc 及相应过滤器与 CSL,且需人工打开验证渲染结果。资料未提供具体收费、价格、平台或效果信息。