mcpField
L
latex-paper-conversion

latex-paper-conversion

github.com/sickn33文档处理48.7k64 次安装今天更新
代码仓库

关于 latex-paper-conversion

面向需要将学术论文迁移到新期刊格式的用户,通过分阶段流程提取 LaTeX 内容、映射模板并处理编译问题。

主要功能

  1. 01提取并保留论文结构与元数据
  2. 02将正文合并到目标模板
  3. 03调整浮动体、图片路径和表格
  4. 04运行编译并排查日志错误

适用场景

  1. 01将现有 .tex 论文改为目标期刊格式
  2. 02检查迁移后的引用与编译问题

安装

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

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill latex-paper-conversion

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

详细介绍

LaTeX 论文转换

概述

此技能可自动完成将以 LaTeX 编写的学术论文从一种出版商模板转换为另一种模板这一繁琐且反复的工作。不同期刊(例如 Springer、MDPI、IEEE)在结构要求、文档类、页边距设置和参考文献样式上差异很大。此技能通过执行结构化的多阶段工作流来简化转换过程:提取内容、映射到新模板,并解决常见的编译错误。

何时使用此技能

  • 用户要求将现有 LaTeX 论文移植到新期刊格式时使用。
  • 用户提供现有的 .tex 文件和新的模板目录时使用。
  • 用户提到要从格式 A(例如 IPOL/Neural Processing)转换为格式 B(例如 MDPI)时使用。

工作原理

步骤 1:准备工作与评估

确定源 LaTeX 文件,并向用户询问目标模板目录。了解核心版式映射关系(单栏还是双栏、参考文献样式)。

步骤 2:生成提取与注入脚本

创建 Python 脚本(例如 convert_format.py)来解析源 LaTeX 文件。使用经过审查且能识别边界的提取方法;单靠正则表达式无法安全解析任意嵌套的 TeX。保留注释、宏、包含的文件、标签、引用和作者元数据,然后将提取出的正文与源文件进行比较。合并新模板的 preamble、提取出的 body 和 backmatter。将其写入输出目录中的新文件。

步骤 3:系统性修复

在写入最终文件前,或在后续调用中,对提取出的正文进行通用修复:

  • 转换数学环境的大小写(例如,将 \begin{theorem} 改为 \begin{Theorem})。
  • 将过于激进的浮动体位置选项(例如 [!t] 或 [h!])调整为模板支持的选项。除非明确加载了 float 宏包,否则不要强制使用 [H]。
  • 确保 \includegraphics 路径相对于新 .tex 文件的位置。
  • 根据实际情况,分别将表格调整为 \columnwidth 或 \textwidth。tabularx 需要对应的宏包、列格式和匹配的结束环境;不要只替换开始命令。
步骤 4:编译与调试

使用模板要求的引擎和参考文献后端(BibTeX 或 Biber),并进行足够次数的重新编译以解析引用。将经过审查的源文件放在隔离的输出目录中编译,且不要启用 shell escape;不可信的 TeX 和构建脚本可能会读取文件或执行命令。使用 grep 或 rg 检查 .log 文件,系统性地修复宏包冲突、未定义命令或编译中断问题。

示例

示例 1:将 IPOL 转换为 MDPI
USER: "I need to convert my paper 'SAHQR_Paper.tex' to the MDPI format located in the 'MDPI_template_ACS' folder."
AGENT: *Triggers latex-paper-conversion skill*
1. Analyzes source `.tex` and target `template.tex`.
2. Creates Python script to extract Introduction through Conclusion.
3. Injects content into MDPI template.
4. Updates image paths and selects supported float options; uses `[H]` only if required and supported.
5. Compiles via pdflatex and bibtex to confirm zero errors.

最佳实践

  • ✅ 始终编写 Python 提取脚本;不要手动复制粘贴数千行 LaTeX。
  • ✅ 尽可能使用模板要求的编译器,并检查日志和视觉输出;如果无法编译,请说明编译结果尚未验证。
  • ✅ 如果源文件与目标模板的结构差异很大(例如合并摘要和关键词),请明确询问用户如何映射结构。
  • ❌ 不要假设新模板中一定包含所有数学宏包(例如,若缺少 \usepackage{amsmath},则应添加)。

常见问题

  • 问题: 从单栏转换为双栏时,表格中的 hbox 溢出。 解决方案: 检测 \begin{tabular},并自动用 \resizebox{\columnwidth}{!}{...} 包裹,或建议更改格式。
  • 问题: 编译时出现未定义控制序列错误。 解决方案: 搜索 Paper.log,并在转换后的模板中添加缺失的 \usepackage{}。

更多资源

限制

  • 仅当任务明确符合上述范围时,才使用此技能。
  • 不要将输出视为特定环境验证、测试或专家评审的替代品。
  • 如果缺少必需的输入、权限、安全边界或成功标准,请停止并请求澄清。

评论

支持 Markdown