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 にあります。 これを原稿プロジェクトにコピーし、Pandoc に --reference-doc を指定して渡します。

新しいコピーを作成する場合、またはサンプルのタイトルを変更する場合は、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 書式を再現できるよう、参考ファイルをプロジェクトに残してください。

図のマーク付けと配置の選択

各図は、.paper-figure クラスを持つトップレベルのフェンス付き Div として表します。 まず単独の画像を 1 つ置き、その後にキャプション段落を 1 つ以上置きます。 画像の代替テキストはアクセシブルな代替テキストとして使用されるため、キャプションとは別に、視覚情報を簡潔に説明する内容を記述します。

::: {.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 クラス
  • 段組: 2 段組
  • 参考文献: 番号付き、[1] 形式
  • 図: 段幅内に収めるか、2 段にまたがって配置
  • ページ制限: 分野により異なります(会議論文は通常 6~8 ページ、ジャーナル論文は 12~14 ページ)
\documentclass[journal]{IEEEtran}
\usepackage{cite}
\usepackage{amsmath}
\usepackage{graphicx}
Nature/Science
  • 形式: 1 段組、見出し階層は指定あり
  • 参考文献: 上付き番号付き
  • 語数制限: 約 3000~5000 語(本文)
  • 図: 最大 6~8 点、別ファイルとして提出
  • 方法: 語数制限なしの独立したセクションとなる場合がよくあります
PNAS
  • テンプレート: pnas-new クラス
  • 段組: 印刷版は 2 段組、査読用は 1 段組
  • 語数制限: 約 4500 語
  • 参考文献: 番号付き
  • Significance statement: 必須、最大 120 語
PLoS ONE
  • 形式: 特定のテンプレートは不要
  • 参考文献: 番号付き、Vancouver 形式
  • 長さの制限なし
  • データの利用可能性: 記述が必須
Elsevier
  • テンプレート: elsarticle クラス
  • 複数の形式: プレプリント、査読用、最終版
\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 以上)
  • 図のキャプションを別の一覧にまとめている
  • 表がジャーナルのスタイルに従って整形されている
  • 参考文献が漏れなく、一貫した形式で記載されている
  • 補足資料を別途用意している
  • カバーレターの草案を作成している(カバーレターは AI 特有の言い回しが特に出やすいため、manuscript:humanizer を実行してください)
  • すべての叙述セクションに manuscript: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 でポータブルにインストールできます。

通常の Markdown では、確認後の SemBr の出力をそのまま使用して問題ありません。 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 を確認する代わりにはなりません。

追加のリソース

コメント