| name | format-check |
| description | 論文・研究概要の体裁・形式を自動チェック。LaTeX(.tex)・Word(.docx)・PDF(.pdf)に対応。表記ゆれ・参考文献体裁・相互参照整合性・未記入セクション等を検出。1〜2ページの概要・梗概・アブストラクト(固定尺)は --fixed(またはページ数で自動判定)で紙面配分(参考文献が本文を圧迫していないか等)も診断する。提出直前の最終確認に使用。卒論・研究論文・学会投稿論文・研究概要すべてに対応。旧 abstract-format-check を統合。 |
| argument-hint | <.tex/.docx/.pdf path or directory> [--fixed|--full] [--terms <用語ファイル>] |
| metadata | {"author":"nel","version":"1.2.0"} |
Format Check - 論文体裁チェック
Overview
論文・研究概要の体裁・形式面を網羅的にチェックし、提出前に修正すべき箇所を一覧で報告する。LaTeX(.tex)・Word(.docx)・PDF(.pdf) に対応。卒業論文・研究論文・学会投稿論文・研究概要(梗概/アブストラクト)まで種類を問わず使用できる。
2つのモード(共通コアは両モードで走る。差分だけがモード依存):
- 長尺モード(既定): 未記入セクション・LaTeXコンパイル診断・docx固有チェック等、「書き切れているか」を見る。
- 固定尺モード(
--fixed/1〜2ページなら自動判定): 上記に加え 紙面配分(参考文献が本文を圧迫していないか、核に紙面が割かれているか)を診断。長尺前提のノイズ(未記入の大量指摘・章立て不足)は抑制する。旧 abstract-format-check の役割はこのモードに統合。
When to Use
提出直前の体裁チェック。表記ゆれ、参考文献、節番号、図表整合性などを網羅的に洗い出したいときに使う。
- 論文の提出前に体裁の最終チェックをしたいとき
- LaTeX論文またはWord論文のフォーマット不備を網羅的に洗い出したいとき
.docx 形式の論文に対して、誤字脱字・節番号・参考文献番号・表記ゆれ等を一括チェックしたいとき
- 内容面のレビューではなく、体裁面に特化したチェックが必要なとき
使い分けガイド:
論文(長尺)の体裁だけチェック → /format-check(これ)
概要(1〜2p)の体裁+紙面配分 → /format-check --fixed
論理構造・説明不足を検出+改善 → /articulation-check
卒論を包括レビュー → /research-review
研究論文を深くレビュー → /research-review
Input
$ARGUMENTS
- ファイルパス:
.tex / .docx / .pdf ファイル、またはディレクトリ(中の該当ファイルを全て対象)。.tex に同名 .pdf が並んでいれば、紙面配分のレイアウト裏取りに併用する
--fixed / --full: 固定尺(概要)/長尺モードを明示。無指定なら推定ページ数で自動判定(下記)
--terms <ファイル>: 表記ゆれチェック用の用語リスト(任意)
Instructions
ペルソナ
一流研究者であり指導教員として、親しみやすく具体的な指導口調でコメントする(「ここは直しましょう」「〜した方がいいです」等)。
ファイル形式判定(最初に実行)
入力ファイルの拡張子で処理を分岐する:
.tex → LaTeX モード(後述の「チェック項目(LaTeX)」を実行)。同名 .pdf があれば紙面配分の裏取りに併読
.docx → Word モード(後述の「docx テキスト抽出」→「チェック項目(docx)」を実行)
.pdf → PDF モード。Read ツールで直接読む(レンダリング後の実レイアウトが見えるので紙面配分の判定に有利)
- ディレクトリ → 中の
.tex / .docx / .pdf を全て対象とする
次に尺モードを決める(固定尺か長尺か):
--fixed / --full 明示があればそれに従う
- 無指定なら自動判定: 推定1〜2ページ(
.pdf はページ数、.tex は \documentclass の概要系スタイルや本文文字数・二段組み1ページ相当)なら 固定尺モード、それ以外は 長尺モード
- 固定尺モードでは、後述の「固定尺モードの追加診断(紙面配分)」を実施し、長尺前提の指摘(未記入セクションの大量検出・章立て不足・関連研究網羅など)は抑制する
docx テキスト抽出(Word モードのみ)
.docx ファイルはバイナリ形式のため、テキストを抽出してからチェックする。以下の順で試行:
- Read ツール: まず Read ツールで直接読み取りを試みる
- python-docx(推奨): Read が失敗した場合、以下のスクリプトで全段落・スタイル情報を抽出する:
python3 << 'PYEOF'
import docx
doc = docx.Document("<ファイルパス>")
for i, para in enumerate(doc.paragraphs):
style = para.style.name if para.style else "None"
text = para.text.strip()
if text:
print(f"[P{i:04d}|{style}] {text}")
for ti, table in enumerate(doc.tables):
print(f"\n--- 表{ti+1} ---")
for ri, row in enumerate(table.rows):
cells = [cell.text.strip() for cell in row.cells]
print(f" 行{ri}: {' | '.join(cells)}")
PYEOF
- pandoc(フォールバック): python-docx が使えない場合:
pandoc -f docx -t plain "<ファイルパス>" > extracted.txt
注意: python-docx はスタイル情報(見出しレベル等)も取得できるため推奨。pandoc はプレーンテキストのみとなり見出し構造の判定精度が下がる。
チェック項目(共通 — LaTeX/docx 両方に適用)
以下の項目はファイル形式を問わず共通でチェックする。
C1. 句読点・記号の統一
- 句読点(、。)とカンマピリオド(,.)の混在チェック
- 日本語文中でカンマピリオドを使用する場合は全角(,.)であること(半角のコンマピリオドはレイアウトが崩れる)
- 文書全体で統一されているか
C2. タイトルの体裁
- タイトルに「提案」「研究」等の冗長語が含まれていないか(研究論文なので提案・研究するのは自明)
- 英語タイトルのキャピタライゼーション: 各単語の先頭を大文字にする。ただし補助語(to, of, in, for, and, the, a, an, on, at, by, with 等)は小文字のまま。タイトル先頭の語は常に大文字
C3. 図表タイトルの番号書式
- 図表タイトルの番号とタイトルの間にスペースが1つ入っているか(例: 「図1 ○○」「表2 ○○」)
- スペースなし(「図1○○」)やスペース過多になっていないか
C4. 章・節への言及形式
- 章や節に言及する場合に「第2章」「第2.2節」のように記述されているか
- 「2章」「2.2節」のように「第」が欠落していないか
C5. 箇条書きの多用検出
- 箇条書きが過度に使われていないか
- 特にページ数が少ない文書では箇条書きによる空白が目立つため、文章での記述を推奨
C6. 参考文献の引用形式
- 文中引用: 通常表記で記載(例: 「文献[1]では…」「Spivakら[2]は…」)
- 句読点後の引用: 上付き文字で記載(例: 「…を提案している^[1]」)
- 参考文献リストは
[番号] 著者, タイトル, 出典(学会名や論文誌名), ページ番号, 年. の順序で統一されているか
- IEEE形式の良い例:
references/ieee-examples.md を参照
C7. 謝辞の用語チェック
- 「指導教官」→「指導教員」に統一されているか(「官」は公務員に使用する用語であり、大学教員には「員」が適切)
C8. 英語論文チェック(英語で記述された論文の場合のみ適用)
- 主語 "I" の多用を避けているか("The author" や無生物主語 "Chapter 3 describes…" 等が推奨)
- 強調は
"quote" ではなく italic(イタリック体)で表記されているか
チェック項目(LaTeX)
references/latex-checks.md の詳細に従い、以下の9項目を順にチェックする:
- 未記入・プレースホルダの検出
- 誤字脱字・文法ミスの検出
- 表記ゆれの検出
- 参考文献の体裁(IEEE形式の詳細例は
references/ieee-examples.md を参照)
- label/ref の整合性
- 図表の整合性
- 定型セクションの確認
- 章の改ページ
- その他の形式
LaTeX コンパイル診断(LaTeX モードのみ)
静的解析(上記チェック項目1〜9)の後に実行する。詳細手順(エンジン判定、コンパイル実行、.log解析、報告形式)は references/compile-diagnostics.md を参照。
チェック項目(docx)
references/docx-checks.md の詳細に従い、以下の9項目を順にチェックする:
- 未記入・プレースホルダの検出
- 誤字脱字の検出
- 表記ゆれの検出(全角半角・文体含む)
- 参考文献の体裁
- 相互参照・図表の整合性
- 節番号の連番・欠落チェック(docx特有)
- 定型セクションの確認
- レイアウトチェック(docx特有)
- その他の形式(数式消失等)
固定尺モードの追加診断(紙面配分)— --fixed(または自動判定で固定尺)時のみ
固定尺(1〜2ページ)では「何にどれだけ紙面を割いたか」が質を左右する。共通コア(表記ゆれ・参考文献体裁・相互参照)に加え、以下を診断する。詳細ルーブリックと推定手順は references/section-balance.md を必ず読んでから行う。
核となる判定:
- 参考文献 vs 本文の比率: 参考文献リストが紙面(または総文字数)の過大な割合を占め、本文の記述密度を犠牲にしていないか。
- セクション間の配分: 研究の核(提案手法/研究内容)に十分な紙面が割かれているか。「はじめに」が長すぎる・核が薄い等の偏りがないか。
指摘は単なる体裁ではなく「限られた尺での戦略」の問題として、なぜその配分が損か・どう振り替えるか(例: 参照を1つ削れば本文を2文増やせる)まで具体的に述べる。.pdf があれば占有率・余白を目視で裏取りし、余白があれば「削らず足せる」旨を示す。出力には後述の「紙面配分の見取り図」を必ず添える。
出力ルール
- 内部用語(殿、足軽等)を出力に含めない
- 発見した問題を優先度順(致命的 > 高 > 中 > 低)に整理
- 各指摘に対し、具体的な修正方法を示す
Output Format
# 体裁チェック結果: [論文タイトル]
**チェック日**: [日付]
**対象ファイル**: [ファイルパス]
**ファイル形式**: LaTeX (.tex) / Word (.docx)
## 致命的(提出前に必ず修正)
1. **[問題]** ([ファイル:行番号 or 段落番号])
- 現状: [具体的な記述]
- 修正: [具体的な修正方法]
## 高優先度(強く修正を推奨)
1. ...
## 中優先度(できれば修正)
1. ...
## 低優先度(余裕があれば)
1. ...
## チェックサマリ
LaTeX の場合:
| チェック項目 | 結果 | 指摘数 |
|-------------|------|--------|
| 句読点・記号の統一 | ✅ / ⚠️ | N件 |
| タイトルの体裁 | ✅ / ⚠️ | N件 |
| 未記入・プレースホルダ | ✅ / ⚠️ | N件 |
| 誤字脱字・文法ミス | ✅ / ⚠️ | N件 |
| 表記ゆれ | ✅ / ⚠️ | N件 |
| 参考文献体裁・引用形式 | ✅ / ⚠️ | N件 |
| label/ref整合性 | ✅ / ⚠️ | N件 |
| 図表整合性・番号書式 | ✅ / ⚠️ | N件 |
| 章・節の言及形式 | ✅ / ⚠️ | N件 |
| 定型セクション・謝辞用語 | ✅ / ⚠️ | N件 |
| 章の改ページ | ✅ / ⚠️ | N件 |
| 箇条書きの多用 | ✅ / ⚠️ | N件 |
| 英語論文チェック(該当時) | ✅ / ⚠️ / ― | N件 |
| **コンパイル診断** | ✅ / ⚠️ / ⏭️ | N件 |
> コンパイル診断の結果欄: ✅ = warning なし、⚠️ = warning/error あり、⏭️ = スキップ(環境なし)
docx の場合:
| チェック項目 | 結果 | 指摘数 |
|-------------|------|--------|
| 句読点・記号の統一 | ✅ / ⚠️ | N件 |
| タイトルの体裁 | ✅ / ⚠️ | N件 |
| 未記入・プレースホルダ | ✅ / ⚠️ | N件 |
| 誤字脱字 | ✅ / ⚠️ | N件 |
| 表記ゆれ(全角半角・文体含む) | ✅ / ⚠️ | N件 |
| 参考文献体裁・引用形式 | ✅ / ⚠️ | N件 |
| 相互参照・図表整合性・番号書式 | ✅ / ⚠️ | N件 |
| 章・節の言及形式 | ✅ / ⚠️ | N件 |
| 節番号の連番・欠落 | ✅ / ⚠️ | N件 |
| 定型セクション・謝辞用語 | ✅ / ⚠️ | N件 |
| レイアウト(両端揃え・字下げ等) | ✅ / ⚠️ | N件 |
| 章の改ページ | ✅ / ⚠️ | N件 |
| 箇条書きの多用 | ✅ / ⚠️ | N件 |
| その他の形式(数式消失等) | ✅ / ⚠️ | N件 |
| 英語論文チェック(該当時) | ✅ / ⚠️ / ― | N件 |
固定尺モード(--fixed)の追加出力: 上記サマリに加え、紙面配分の見取り図を必ず添える。
### 紙面配分の見取り図
| 部分 | 推定分量 | 占有率 | 評価 |
|------|---------|--------|------|
| はじめに | 約N字 | N% | ✅/⚠️ |
| 研究内容(核) | 約N字 | N% | ✅/⚠️ |
| 評価 | 約N字 | N% | ✅/⚠️ |
| まとめ | 約N字 | N% | ✅/⚠️ |
| 参考文献 | N件/約N字 | N% | ✅/⚠️ |
[配分の総評: どこを削り、どこを厚くすべきか。PDFがあれば余白の有無も踏まえ「削る/足す」を判断]
Guidelines
- 体裁面に徹する。内容の論理的な指摘は
/articulation-check や /research-review の役割
- LaTeX モード:
% コメントはPDFに出ないため言及しない
- Word モード: python-docx で取得したスタイル情報(Heading 1/2/3 等)を活用し、見出し構造を正確に把握する
- 問題がない項目も「✅ 問題なし」と明記し、チェック漏れがないことを示す
- 複数ファイル構成(LaTeX subfiles / ディレクトリ内の複数 docx)の場合、全ファイルを横断してチェックする
- コンパイル診断の実行順序: 静的解析(チェック項目1〜9)をすべて完了してからコンパイル診断を実行する。静的解析の結果がコンパイル不要で確定するのに対し、コンパイルは環境依存で失敗する可能性があるため
- コンパイル診断と静的解析の重複:
label/ref の未定義は静的解析(チェック項目5)とコンパイルwarningの両方で検出されうる。重複する指摘は一方にまとめ、コンパイル診断側で「(静的解析で検出済み)」と注記する
- コンパイルで生成されるファイル: コンパイルにより
.aux, .log, .toc, .out 等の中間ファイルが生成・更新される。これらはLaTeXの通常の動作であり、既存ファイルの上書きについてユーザへの確認は不要
- チェック結果のファイル出力: チェック完了後、結果を対象ファイルと同じディレクトリに md ファイルとして書き出す。ファイル名は
<元ファイル名(拡張子なし)>-format-check-<YYYY-MM-DD>.md とする(例: main-format-check-2026-01-30.md)。日付は date コマンドで取得すること