mcpField
M
manuscript-formatting

manuscript-formatting

github.com/neuromechanist文档处理5037 次安装今天更新
代码仓库

关于 manuscript-formatting

用于按期刊要求排版论文并准备投稿材料的技能,涵盖 DOCX、Markdown 和 LaTeX 工作流,并提供图表放置、参考文献及合规检查指导。

主要功能

  1. 01期刊格式指导
  2. 02DOCX 草稿模板工作流
  3. 03图表放置与无障碍检查
  4. 04Markdown、Word 与 LaTeX 转换
  5. 05参考文献与 BibTeX 指导

适用场景

  1. 01准备期刊投稿论文
  2. 02创建可编辑的 Word 草稿
  3. 03转换论文文档格式
  4. 04投稿前检查图表和参考文献

安装

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

$npx skills add https://github.com/neuromechanist/research-skills --skill manuscript-formatting

安装后在 Claude Code 中输入/manuscript-formatting确认已加载。

包含的文件

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

assets/
Manuscript_Draft_Reference.docx
references/
journal-requirements.md
latex-troubleshooting.md
scripts/
create_docx_template.py
figure-placement.lua
semantic_breaks.py

详细介绍

稿件格式设置与投稿准备

根据期刊的具体要求设置稿件格式,并准备投稿材料包。

适用场景

  • 为特定期刊设置稿件格式
  • 准备投稿材料包(投稿信、图件、补充材料)
  • 在 Word/DOCX、Markdown 和 LaTeX 之间转换
  • 检查是否符合作者指南
  • 管理参考文献和 BibTeX

Word 草稿工作流

当读者需要一份可编辑的 .docx 稿件草稿时,请使用此工作流。 随附的参考文档提供了精致易读的起点,具有清晰的标题区块、简洁的标题样式、易读的正文、页码、图表标题以及紧凑的表格文字。 这是一种适用于审阅稿的样式,不能替代期刊要求的模板。

创建或自定义参考 DOCX

将 SKILL_DIR 设置为包含此 SKILL.md 的目录,或在以下命令中将其替换为该目录的完整路径。 可直接使用的参考文件位于 assets/Manuscript_Draft_Reference.docx。 将其复制到稿件项目中,并通过 --reference-doc 传递给 Pandoc。

要生成新的副本或更改示例标题,请使用 Python 3.11 或更高版本运行随附的辅助脚本,并确保已安装 python-docx:

uv run --with python-docx python "$SKILL_DIR/scripts/create_docx_template.py" --output manuscript/reference.docx --title "Manuscript Title Goes Here"

Pandoc 使用参考 DOCX 中的样式、页面设置、页眉和页脚,并以 Markdown 稿件替换示例正文。 请将参考文件保留在项目中,以便协作者能够重现相同的 Word 样式。

标记图件并选择其位置

将每个图件表示为顶层围栏式 Div,并使用 .paper-figure 类。 先放置一张独立图像,然后放置一个或多个标题段落。 图像的替代文本会用作无障碍替代文本;请将其写成对视觉信息的简洁描述,并与标题分开。

::: {.paper-figure}
![Scatterplot of response time against device latency, with a positive trend and confidence band.](figures/latency.png){width=95%}
Figure 1. Response time increased with device latency. The shaded band shows the 95% confidence interval.
:::

使用随附的图件放置过滤器运行转换。 默认位置为行内,即每个图件都保留在其 Markdown 所在位置。 将 figure-placement 设为 end,可将带标记的图件集中到 References 前面的 Figures 部分;如果没有 References 标题,则放在文档末尾。

pandoc manuscript.md --output manuscript.docx --reference-doc manuscript/reference.docx --lua-filter="$SKILL_DIR/scripts/figure-placement.lua" --metadata figure-placement=inline --citeproc --bibliography=references.bib --csl=journal.csl

对于放在文档末尾的图件,请将元数据值改为 figure-placement=end。

请在周围的正文中保留 Figure 1 之类的文字引用,以便读者在任一布局中都能找到图件。 常规原位草稿请使用 figure-placement=inline。 如果 .paper-figure 块格式错误或图像缺少替代文本,过滤器会报错,而不会静默丢弃内容。

审阅生成的 DOCX

在 Word 或 LibreOffice 中打开结果,并检查分页、较长的图注、表格宽度、公式、交叉引用以及渲染后的参考文献。 期刊投稿规则优先于这种通用草稿样式;投稿前请应用期刊的实际模板和图件放置要求。

常见期刊格式

IEEE
  • 模板: IEEEtran class
  • 栏数: 双栏
  • 参考文献: 编号制,[1] 样式
  • 图件: 适应单栏或跨双栏排版
  • 页数限制: 因期刊而异(会议论文通常为 6-8 页,期刊论文通常为 12-14 页)
\documentclass[journal]{IEEEtran}
\usepackage{cite}
\usepackage{amsmath}
\usepackage{graphicx}
Nature/Science
  • 格式: 单栏,使用特定的标题层级
  • 参考文献: 上标编号
  • 字数限制: 约 3000-5000 字(正文)
  • 图件: 最多 6-8 个,单独提交文件
  • 方法: 通常单独成节,不限字数
PNAS
  • 模板: pnas-new class
  • 栏数: 印刷版为双栏,审阅版为单栏
  • 字数限制: 约 4500 字
  • 参考文献: 编号制
  • 意义声明: 必须提供,最多 120 字
PLoS ONE
  • 格式: 无需特定模板
  • 参考文献: 编号制,Vancouver 样式
  • 无篇幅限制
  • 数据可用性: 必须提供声明
Elsevier
  • 模板: elsarticle class
  • 多种格式: 预印本、审阅稿、终稿
\documentclass[preprint,12pt]{elsarticle}

LaTeX 基础知识

文档结构
\documentclass[options]{class}
\usepackage{packages}

\title{Title}
\author{Authors}

\begin{document}
\maketitle
\begin{abstract}
\end{abstract}

\section{Introduction}
\section{Methods}
\section{Results}
\section{Discussion}

\bibliography{references}
\end{document}
BibTeX 管理
@article{smith2024,
  author  = {Smith, John and Doe, Jane},
  title   = {Title of the Paper},
  journal = {Journal Name},
  year    = {2024},
  volume  = {10},
  pages   = {1--15},
  doi     = {10.1000/example}
}

常见的 BibTeX 样式:

  • plain - 编号,按字母顺序排序
  • unsrt - 编号,按引用顺序排列
  • ieeetr - IEEE 期刊样式
  • apalike - 类 APA 的作者-年份格式
交叉引用
\label{fig:results}   % Label a figure
\ref{fig:results}     % Reference by number
Figure~\ref{fig:results}  % Standard format

提交检查清单

提交前
  • 按期刊模板格式排版稿件
  • 标题页:标题、作者、所属机构、通讯作者、ORCID
  • 摘要不超过字数限制
  • 提供关键词(如有要求)
  • 正文不超过页数/字数限制
  • 图表作为独立的高分辨率文件提交(通常为 300+ DPI)
  • 图注单独列出
  • 表格按期刊样式排版
  • 参考文献完整且格式统一
  • 单独准备补充材料
  • 起草投稿附信(对其运行 manuscript:humanizer;投稿附信尤其容易出现 AI 特征措辞)
  • 对所有叙述性章节应用 manuscript:humanizer 自然写作润色,然后在期刊格式覆盖 humanizer 默认设置时,重新应用期刊的格式规范(标题大小写、引文格式等)
  • 利益冲突声明
  • 数据可用性声明
  • 伦理审批声明(如适用)
  • 作者贡献(如有要求,采用 CRediT 格式)
  • 建议审稿人(如有要求)
投稿附信模板
Dear Editor,

We submit our manuscript titled "{TITLE}" for consideration
in {JOURNAL}.

{1-2 sentences: what the study did and found}

{1-2 sentences: why this matters to the journal's readership}

{1 sentence: confirmation of originality and no concurrent submission}

We suggest the following reviewers:
1. {Name, Affiliation, Email}
2. {Name, Affiliation, Email}

Sincerely,
{Corresponding Author}

格式转换

Markdown 转 LaTeX
pandoc manuscript.md -o manuscript.tex --template=journal-template.tex --bibliography=refs.bib --citeproc
Word 转 LaTeX
pandoc manuscript.docx -o manuscript.tex --extract-media=figures/
LaTeX 转 Word(适用于要求提交 .docx 的期刊)
pandoc manuscript.tex -o manuscript.docx --bibliography=refs.bib --citeproc

语义换行

语义换行会将每个完整的思想单元放在单独的源文件行中, 这样对文字进行小幅修改时,产生的差异也小而易于审阅。 SemBr 规范要求这种格式不得 改变渲染后的文档。sembr CLI 支持 Markdown、纯文本和 LaTeX,可通过 uv tool install sembr 便携安装。

审阅后,SemBr 的原始输出用于普通 Markdown 通常没有问题。对 LaTeX 不要直接信任原始输出:换行可能改变注释范围,或破坏 命令和转义序列。处理 LaTeX 时,请使用随附的安全包装器:

uv run python plugins/manuscript/skills/manuscript-formatting/scripts/semantic_breaks.py \
  manuscript.tex manuscript-semantic.tex \
  --compile-command latexmk -pdf -interaction=nonstopmode \
  -outdir '{build_dir}' '{source}'

包装器会在写入目标文件前执行以下检查:

  1. 将 \\begin{verbatim}...\\end{verbatim} 代码块和整行 % 注释替换为原子占位符,并在 SemBr 处理后还原。
  2. 使用 Python 的 difflib.SequenceMatcher 对齐以空白分隔的标记。如果任何标记内容发生偏差, 就还原包含该偏差的原始段落;其他段落中仅涉及空白的更改仍可作为语义换行保留。 仅比较折叠空白后的字符串并不安全,因为它无法检测 % 注释截断。
  3. 提供 --compile-command 时,会分别编译原始版本和经过保护的版本, 对两份 PDF 运行 pdftotext,并且只有在提取出的字节完全相同时才会写入结果。 编译器命令必须使用 {source} 作为输入,并将生成的文件输出到 {build_dir}; --compile-command 后的参数均由包装器接收。

检查生成的差异,并在工作流中保留编译输出检查; 提取文本一致只是安全关卡,不能替代对源文件和渲染后 PDF 的审阅。

更多资源

评论

支持 Markdown