papper 0.6.6__py3-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. pandoc_manuscript/__init__.py +49 -0
  2. pandoc_manuscript/_template/.agents/bib-metadata-rebuild/SKILL.md +228 -0
  3. pandoc_manuscript/_template/.agents/manuscript-review/SKILL.md +114 -0
  4. pandoc_manuscript/_template/.agents/manuscript-syntax.md +659 -0
  5. pandoc_manuscript/_template/.agents/reviewer-guided-manuscript-revision/SKILL.md +100 -0
  6. pandoc_manuscript/_template/.agents/reviewer-reply-writing/SKILL.md +203 -0
  7. pandoc_manuscript/_template/.agents/word-manuscript-fix/SKILL.md +36 -0
  8. pandoc_manuscript/_template/.agents/word-manuscript-fix/scripts/unescape_latex.py +87 -0
  9. pandoc_manuscript/_template/.agents//321/204/342/225/225/320/220/321/204/342/225/221/320/253/321/205/342/225/225/342/225/225/321/207/320/244/320/270/321/207/320/252/320/224/321/206/320/237/320/240/321/207/320/264/342/225/221/321/210/320/277/320/235/321/207/320/231/320/227/321/206/320/276/342/225/241.md +125 -0
  10. pandoc_manuscript/_template/.gitignore +254 -0
  11. pandoc_manuscript/_template/.vscode/extensions.json +5 -0
  12. pandoc_manuscript/_template/AGENTS.md +128 -0
  13. pandoc_manuscript/_template/CLAUDE.md +104 -0
  14. pandoc_manuscript/_template/examples/images/example.svg +87 -0
  15. pandoc_manuscript/_template/examples/images/single-figure-example.png +0 -0
  16. pandoc_manuscript/_template/examples/images/subfigure-a-example.png +0 -0
  17. pandoc_manuscript/_template/examples/images/subfigure-b-example.png +0 -0
  18. pandoc_manuscript/_template/examples/images/subfigure-svg-layout-example.svg +30 -0
  19. pandoc_manuscript/_template/examples/references/paper-specific-example.bib +889 -0
  20. pandoc_manuscript/_template/examples/references/sample-references.bib +76 -0
  21. pandoc_manuscript/_template/manuscript.md +217 -0
  22. pandoc_manuscript/_template/reply_to_reviewers.md +243 -0
  23. pandoc_manuscript/_template/style.yml +106 -0
  24. pandoc_manuscript/cli.py +93 -0
  25. pandoc_manuscript/commands/__init__.py +1 -0
  26. pandoc_manuscript/commands/build.py +713 -0
  27. pandoc_manuscript/commands/build_reply/__init__.py +115 -0
  28. pandoc_manuscript/commands/build_reply/command.py +78 -0
  29. pandoc_manuscript/commands/build_reply/line_source.py +542 -0
  30. pandoc_manuscript/commands/build_reply/output.py +346 -0
  31. pandoc_manuscript/commands/build_reply/resolve.py +724 -0
  32. pandoc_manuscript/commands/build_reply/settings.py +75 -0
  33. pandoc_manuscript/commands/clean.py +112 -0
  34. pandoc_manuscript/commands/common.py +119 -0
  35. pandoc_manuscript/commands/doctor.py +87 -0
  36. pandoc_manuscript/commands/init.py +186 -0
  37. pandoc_manuscript/commands/setup/__init__.py +21 -0
  38. pandoc_manuscript/commands/setup/command.py +33 -0
  39. pandoc_manuscript/commands/setup/pandoc_tools.py +503 -0
  40. pandoc_manuscript/docx/__init__.py +1 -0
  41. pandoc_manuscript/docx/compare_word_com.py +720 -0
  42. pandoc_manuscript/docx/equation_layout.py +146 -0
  43. pandoc_manuscript/docx/page_margins.py +139 -0
  44. pandoc_manuscript/docx/postprocess/__init__.py +5 -0
  45. pandoc_manuscript/docx/postprocess/autofit_tables.py +252 -0
  46. pandoc_manuscript/docx/postprocess/clear_subfigure_table_format.py +199 -0
  47. pandoc_manuscript/docx/postprocess/common.py +157 -0
  48. pandoc_manuscript/docx/postprocess/docx_style.py +591 -0
  49. pandoc_manuscript/docx/postprocess/final_docx_syntax_check.py +234 -0
  50. pandoc_manuscript/docx/postprocess/format_equation_layout_tables.py +473 -0
  51. pandoc_manuscript/docx/postprocess/inline_math_spacing.py +139 -0
  52. pandoc_manuscript/docx/postprocess/insert_author_info.py +540 -0
  53. pandoc_manuscript/docx/postprocess/line_numbers.py +183 -0
  54. pandoc_manuscript/docx/postprocess/merge_table_cells.py +223 -0
  55. pandoc_manuscript/docx/postprocess/orchestrator.py +376 -0
  56. pandoc_manuscript/docx/postprocess/page_margins.py +64 -0
  57. pandoc_manuscript/docx/postprocess/page_numbers.py +182 -0
  58. pandoc_manuscript/docx/postprocess/para_after_table_style.py +162 -0
  59. pandoc_manuscript/docx/postprocess/para_equation_style.py +155 -0
  60. pandoc_manuscript/docx/postprocess/process_equation_metadata.py +176 -0
  61. pandoc_manuscript/docx/postprocess/process_table_metadata.py +547 -0
  62. pandoc_manuscript/docx/postprocess/reply_blue_italic_style.py +168 -0
  63. pandoc_manuscript/docx/postprocess/table_text_style.py +253 -0
  64. pandoc_manuscript/docx/postprocess/where_paragraph_style.py +277 -0
  65. pandoc_manuscript/docx/svg_filters.py +160 -0
  66. pandoc_manuscript/mathtype/Times+Symbol 12.eqp +58 -0
  67. pandoc_manuscript/mathtype/__init__.py +1 -0
  68. pandoc_manuscript/mathtype/bin/MITEX-APACHE-2.0.txt +176 -0
  69. pandoc_manuscript/mathtype/bin/XITS-NOTICE.txt +14 -0
  70. pandoc_manuscript/mathtype/bin/XITS-OFL.txt +98 -0
  71. pandoc_manuscript/mathtype/bin/XITS-README.txt +15 -0
  72. pandoc_manuscript/mathtype/bin/mathtype_rust.dll +4 -0
  73. pandoc_manuscript/mathtype/compound_file.py +123 -0
  74. pandoc_manuscript/mathtype/convert_marked_docx.py +68 -0
  75. pandoc_manuscript/mathtype/docx_ole.py +405 -0
  76. pandoc_manuscript/mathtype/marked_docx.py +460 -0
  77. pandoc_manuscript/mathtype/native.py +121 -0
  78. pandoc_manuscript/mathtype/ole_helper/bin/Release/net48/MathTypeOleHelper.exe +0 -0
  79. pandoc_manuscript/mathtype/ole_parts.py +1444 -0
  80. pandoc_manuscript/mathtype/preflight.py +94 -0
  81. pandoc_manuscript/mathtype/probe_replace.py +46 -0
  82. pandoc_manuscript/pandoc/csl/elsevier-vancouver.csl +169 -0
  83. pandoc_manuscript/pandoc/csl/engineering-applications-of-artificial-intelligence.csl +14 -0
  84. pandoc_manuscript/pandoc/csl/sage-vancouver-brackets.csl +210 -0
  85. pandoc_manuscript/pandoc/csl/sage-vancouver.csl +203 -0
  86. pandoc_manuscript/pandoc/filters/captionless_image_style.lua +51 -0
  87. pandoc_manuscript/pandoc/filters/citation_number_range_delimiter.lua +118 -0
  88. pandoc_manuscript/pandoc/filters/docx_metadata.lua +148 -0
  89. pandoc_manuscript/pandoc/filters/emf_to_pdf.py +26 -0
  90. pandoc_manuscript/pandoc/filters/equation_revision_attr.lua +94 -0
  91. pandoc_manuscript/pandoc/filters/italic_to_emphasis_style.lua +11 -0
  92. pandoc_manuscript/pandoc/filters/mathtype_markers.lua +67 -0
  93. pandoc_manuscript/pandoc/filters/path_filter.py +176 -0
  94. pandoc_manuscript/pandoc/filters/resource_move.py +140 -0
  95. pandoc_manuscript/pandoc/filters/svg_embed_images.py +416 -0
  96. pandoc_manuscript/pandoc/filters/svg_to_png.py +582 -0
  97. pandoc_manuscript/pandoc/filters/table_convert.py +501 -0
  98. pandoc_manuscript/pandoc/filters/to_mathbfit.py +90 -0
  99. pandoc_manuscript/pandoc/manuscript-template/.github/workflows/update-pandoc-reference.yml +53 -0
  100. pandoc_manuscript/pandoc/manuscript-template/.gitignore +2 -0
  101. pandoc_manuscript/pandoc/manuscript-template/COPYING +339 -0
  102. pandoc_manuscript/pandoc/manuscript-template/README.md +1 -0
  103. pandoc_manuscript/pandoc/manuscript-template/apply-reference-doc-edits.ps1 +82 -0
  104. pandoc_manuscript/pandoc/manuscript-template/compile.ps1 +49 -0
  105. pandoc_manuscript/pandoc/manuscript-template/edit-reference-doc.ps1 +51 -0
  106. pandoc_manuscript/pandoc/manuscript-template/format-openxml.ps1 +128 -0
  107. pandoc_manuscript/pandoc/manuscript-template/reference-doc/[Content_Types].xml +17 -0
  108. pandoc_manuscript/pandoc/manuscript-template/reference-doc/_rels/.rels +7 -0
  109. pandoc_manuscript/pandoc/manuscript-template/reference-doc/docProps/app.xml +20 -0
  110. pandoc_manuscript/pandoc/manuscript-template/reference-doc/docProps/core.xml +13 -0
  111. pandoc_manuscript/pandoc/manuscript-template/reference-doc/word/_rels/document.xml.rels +13 -0
  112. pandoc_manuscript/pandoc/manuscript-template/reference-doc/word/document.xml +546 -0
  113. pandoc_manuscript/pandoc/manuscript-template/reference-doc/word/endnotes.xml +59 -0
  114. pandoc_manuscript/pandoc/manuscript-template/reference-doc/word/fontTable.xml +73 -0
  115. pandoc_manuscript/pandoc/manuscript-template/reference-doc/word/footnotes.xml +77 -0
  116. pandoc_manuscript/pandoc/manuscript-template/reference-doc/word/numbering.xml +266 -0
  117. pandoc_manuscript/pandoc/manuscript-template/reference-doc/word/settings.xml +51 -0
  118. pandoc_manuscript/pandoc/manuscript-template/reference-doc/word/styles.xml +1070 -0
  119. pandoc_manuscript/pandoc/manuscript-template/reference-doc/word/theme/theme1.xml +294 -0
  120. pandoc_manuscript/pandoc/manuscript-template/reference-doc/word/webSettings.xml +17 -0
  121. pandoc_manuscript/pandoc/manuscript-template/reference-doc.docx +0 -0
  122. pandoc_manuscript/pandoc/manuscript-template/template.openxml +85 -0
  123. pandoc_manuscript/pandoc/pandoc-docx.yml +24 -0
  124. pandoc_manuscript/pandoc/pandoc-latex.yml +19 -0
  125. pandoc_manuscript/pandoc/templates/common.latex +263 -0
  126. pandoc_manuscript/pandoc/templates/default.latex +145 -0
  127. pandoc_manuscript/pandoc/templates/default.xml +80 -0
  128. pandoc_manuscript/pandoc/templates/fonts.latex +1 -0
  129. pandoc_manuscript/pandoc/templates-elsewier/default.xml +80 -0
  130. pandoc_manuscript/pandoc/templates-willy/common.latex +263 -0
  131. pandoc_manuscript/pandoc/templates-willy/default.latex +145 -0
  132. pandoc_manuscript/pandoc/templates-willy/fonts.latex +1 -0
  133. pandoc_manuscript/runtime/__init__.py +1 -0
  134. pandoc_manuscript/runtime/logging.py +161 -0
  135. pandoc_manuscript/runtime/metadata.py +564 -0
  136. pandoc_manuscript/runtime/paths.py +27 -0
  137. pandoc_manuscript/runtime/resources.py +68 -0
  138. pandoc_manuscript/runtime/update_check.py +208 -0
  139. papper-0.6.6.dist-info/METADATA +364 -0
  140. papper-0.6.6.dist-info/RECORD +143 -0
  141. papper-0.6.6.dist-info/WHEEL +4 -0
  142. papper-0.6.6.dist-info/entry_points.txt +3 -0
  143. papper-0.6.6.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,49 @@
1
+ """Command-line helpers for Papper's Markdown-first manuscript workflow."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import importlib.metadata as importlib_metadata
6
+ import json
7
+
8
+ _DIST_NAME = "papper"
9
+ _UNKNOWN_VERSION = "0+unknown"
10
+
11
+
12
+ def _installed_version() -> str:
13
+ """Read the installed package version so CLI output follows release metadata."""
14
+ try:
15
+ return importlib_metadata.version(_DIST_NAME)
16
+ except importlib_metadata.PackageNotFoundError:
17
+ return _UNKNOWN_VERSION
18
+
19
+
20
+ __version__ = _installed_version()
21
+
22
+
23
+ def _direct_url_commit_id() -> str | None:
24
+ """Return the installed Git commit id recorded by PEP 610 metadata."""
25
+ try:
26
+ direct_url_text = importlib_metadata.distribution(_DIST_NAME).read_text("direct_url.json")
27
+ except importlib_metadata.PackageNotFoundError:
28
+ return None
29
+ if not direct_url_text:
30
+ return None
31
+ try:
32
+ direct_url = json.loads(direct_url_text)
33
+ except json.JSONDecodeError:
34
+ return None
35
+ commit_id = direct_url.get("vcs_info", {}).get("commit_id")
36
+ return commit_id if isinstance(commit_id, str) and commit_id else None
37
+
38
+
39
+ def runtime_cache_version() -> str:
40
+ """Return a cache key version that changes for Git-installed revisions."""
41
+ commit_id = _direct_url_commit_id()
42
+ if commit_id:
43
+ return f"{__version__}+git.{commit_id}"
44
+ return __version__
45
+
46
+ __all__ = [
47
+ "__version__",
48
+ "runtime_cache_version",
49
+ ]
@@ -0,0 +1,228 @@
1
+ ---
2
+ name: bib-metadata-rebuild
3
+ description: 当需要系统检查或重建 `.bib` 参考文献条目的元数据时,应使用此技能,尤其适用于作者姓名格式不规范、期刊或会议信息放错字段、年份或页码可疑、以及需要优先依据 DOI 或官方 API 纠正 BibTeX 条目的情况。
4
+ ---
5
+
6
+ # Bib 元数据重建
7
+
8
+ 处理 `references.bib` 或用户指定的 `.bib` 文件,按“优先依据 DOI 官方记录重建条目,而不是只修补局部字段”的原则,系统检查并规范参考文献元数据。
9
+
10
+ ## 适用场景
11
+
12
+ - 用户明确要求检查 `.bib` 元数据错误
13
+ - 用户指出作者姓名格式、题名、期刊、卷期页码、条目类型或字段位置不标准
14
+ - 用户要求“根据 DOI 重构”“从头整理”“调用 API 确认”
15
+ - 现有 `.bib` 大量使用 `@misc + note` 混装期刊或会议信息
16
+
17
+ ## 总体原则
18
+
19
+ 1. 优先保留现有 cite key,除非用户明确要求重命名
20
+ 2. 对有 DOI 的条目,优先使用 DOI 内容协商或官方元数据重建,而不是手工补丁式修改
21
+ 3. 对无 DOI 的条目,先按题名搜索正式 DOI;实在找不到时再保留为次优来源
22
+ 4. 目标是生成“字段位置正确、类型合理、作者姓名规范、核心元数据完整”的 BibTeX,而不是只让文献“勉强能用”
23
+ 5. 除软件手册等特殊条目外,尽量保证每条文献都有 `doi` 和 `url`
24
+
25
+ ## 工作流程
26
+
27
+ ### 1. 盘点全表
28
+
29
+ 先通读整个 `.bib` 文件,识别以下情况:
30
+
31
+ - 条目总数、键名模式、是否存在重复 key
32
+ - 哪些条目已有 DOI
33
+ - 哪些条目缺 DOI 但可能是正式论文
34
+ - 哪些条目是软件、手册、预印本、会议论文、期刊论文、书章节
35
+ - 哪些条目把 `journal`、`booktitle`、`pages`、`volume`、`number` 塞进了 `note`
36
+
37
+ 优先把条目分为三类:
38
+
39
+ - `有 DOI,可直接重建`
40
+ - `无 DOI,但可通过题名补查 DOI`
41
+ - `无 DOI,且应保留为手工整理条目`
42
+
43
+ ### 2. 依据 DOI 抓取权威元数据
44
+
45
+ 对有 DOI 的条目,优先尝试 DOI 内容协商:
46
+
47
+ ```bash
48
+ curl -L -H 'Accept: application/x-bibtex; charset=utf-8' "https://doi.org/<DOI>"
49
+ ```
50
+
51
+ 必要时改用 Citeproc JSON:
52
+
53
+ ```bash
54
+ curl -L -H 'Accept: application/citeproc+json' "https://doi.org/<DOI>"
55
+ ```
56
+
57
+ 可接受的数据源优先级:
58
+
59
+ 1. `doi.org` 内容协商返回的 BibTeX 或 Citeproc JSON
60
+ 2. Crossref API
61
+ 3. 出版社落地页
62
+ 4. arXiv 官方 DOI 或 arXiv API
63
+
64
+ 如果 DOI 落地页不是标准 Crossref/出版社返回,而是中文中转页或多重解析页,至少提取并核对:
65
+
66
+ - 正式题名
67
+ - 作者列表
68
+ - 期刊或会议名称
69
+ - 年份
70
+ - 卷期页码
71
+ - DOI 本身
72
+
73
+ ### 3. 重建条目,而不是局部修补
74
+
75
+ 对每个 DOI 条目,尽量用官方返回结果重建完整条目内容,同时保留原 cite key。
76
+
77
+ 常见类型建议:
78
+
79
+ - `@article`:期刊论文
80
+ - `@inproceedings`:会议论文
81
+ - `@incollection`:Springer/ECCV 这类书章节式会议论文
82
+ - `@misc`:arXiv 预印本
83
+ - `@manual`:软件手册
84
+
85
+ 优先保留的核心字段:
86
+
87
+ - `author`
88
+ - `title`
89
+ - `journal`
90
+ - `booktitle`
91
+ - `publisher`
92
+ - `year`
93
+ - `volume`
94
+ - `number`
95
+ - `pages`
96
+ - `doi`
97
+ - `url`
98
+
99
+ 一般应移除或谨慎保留的噪声字段:
100
+
101
+ - `note` 中被错误混装的期刊或会议信息
102
+ - `issn`
103
+ - `isbn`
104
+ - `keywords`
105
+ - `abstract`
106
+ - `copyright`
107
+ - `collection`
108
+ - `series`
109
+
110
+ ### 4. 规范字段位置
111
+
112
+ 重点检查并改正以下问题:
113
+
114
+ - 期刊名应在 `journal`,不要塞在 `note`
115
+ - 会议名应在 `booktitle`
116
+ - 书章节式会议论文优先用 `@incollection`
117
+ - 卷号在 `volume`,期号在 `number`
118
+ - 页码或文章号在 `pages`
119
+ - DOI 在 `doi`
120
+ - DOI 跳转地址在 `url`
121
+
122
+ 如果原条目类似这样:
123
+
124
+ ```bibtex
125
+ @misc{key,
126
+ title = {...},
127
+ year = {...},
128
+ note = {Journal 12, 123--130},
129
+ doi = {...}
130
+ }
131
+ ```
132
+
133
+ 应重构为:
134
+
135
+ ```bibtex
136
+ @article{key,
137
+ author = {...},
138
+ title = {...},
139
+ journal = {...},
140
+ year = {...},
141
+ volume = {...},
142
+ pages = {...},
143
+ doi = {...},
144
+ url = {...}
145
+ }
146
+ ```
147
+
148
+ ### 5. 规范作者姓名
149
+
150
+ 作者字段不要保留缩写式或不稳定的拼法,优先采用 DOI 官方记录中的完整姓名。
151
+
152
+ 目标格式:
153
+
154
+ ```bibtex
155
+ author = {Family, Given and Family, Given and Family, Given}
156
+ ```
157
+
158
+ 注意:
159
+
160
+ - 保留重音符号、变音符号和连字符
161
+ - `Jr.`、`del`、`van`、`de` 等姓名成分要谨慎处理
162
+ - 不要把作者列表写成逗号分隔的一整串文本
163
+ - 中文期刊若 DOI 不返回可解析 BibTeX,可保留中文作者姓名,但仍要使用标准 `and` 连接
164
+
165
+ ### 6. 处理无 DOI 条目
166
+
167
+ 对无 DOI 条目,按以下顺序处理:
168
+
169
+ 1. 先按完整题名搜索 Crossref
170
+ 2. 对计算机视觉/机器学习论文,再查 arXiv DOI `10.48550/arXiv.*`
171
+ 3. 如果题名搜索到正式会议 DOI,用正式会议记录替换原临时写法
172
+ 4. 如果仍无正式 DOI,再根据来源保留为:
173
+ - `@misc`:预印本
174
+ - `@manual`:软件/文档
175
+ - `@book` / `@incollection`:确实属于书籍或章节时
176
+
177
+ ### 7. 特殊条目处理
178
+
179
+ **arXiv 预印本:**
180
+
181
+ - 可使用 `10.48550/arXiv.*`
182
+ - 一般整理为 `@misc`
183
+ - `publisher = {arXiv}`
184
+ - `url = {https://arxiv.org/abs/<id>}`
185
+
186
+ **软件或手册:**
187
+
188
+ - 优先使用 `@manual`
189
+ - 用 `organization` 或 `publisher` 表示机构
190
+ - 不要伪装成期刊论文
191
+
192
+ **中文期刊 DOI:**
193
+
194
+ - 如果 DOI 不返回标准 BibTeX,而是跳到中转页,手工提取题名、作者、期刊、卷期页码
195
+ - 若能确认是正式期刊,优先整理为 `@article`
196
+
197
+ ### 8. 收尾校验
198
+
199
+ 修改完成后,至少检查:
200
+
201
+ - 所有 cite key 是否保持稳定
202
+ - 非手册条目是否都具备 `doi`
203
+ - 是否还残留大量 `@misc + note` 的伪期刊条目
204
+ - 是否还存在 `&amp;`、乱码、HTML 实体、奇怪的长破折号
205
+ - 是否还有 `collection`、`series` 等明显无助于当前稿件输出的字段
206
+ - 会议论文和书章节的条目类型是否合理
207
+ - 作者字段是否为 BibTeX 可解析的标准格式
208
+
209
+ ## 推荐输出方式
210
+
211
+ 如果用户要你直接改文件:
212
+
213
+ 1. 先批量重建
214
+ 2. 再做一轮人工清洗
215
+ 3. 最后给出简短总结:修了哪些类型的问题、哪些条目是人工兜底
216
+
217
+ 如果用户要你先审查不改:
218
+
219
+ - 先列出高风险问题条目
220
+ - 再说明哪些可以通过 DOI 自动重建
221
+ - 最后指出少数需要人工确认的条目
222
+
223
+ ## 完成标准
224
+
225
+ - `.bib` 的主要条目已按 DOI 或官方记录重建
226
+ - 作者姓名、期刊/会议字段、卷期页码、DOI、URL 的位置正确
227
+ - 大部分不规范的 `@misc + note` 条目已转成更合适的标准类型
228
+ - 只有确实无法标准化的条目才保留为手工整理形式
@@ -0,0 +1,114 @@
1
+ ---
2
+ name: manuscript-review
3
+ description: "提升以 Pandoc Markdown 编写的学术论文最初稿时,应使用此技能。它会根据学术写作规范检查结构、写作风格和格式,并给出具体、可执行的修改建议。不要用于根据审稿意见或者其他具体的意见对论文进行修改的场景。"
4
+ ---
5
+
6
+ # 稿件审阅
7
+
8
+ 审阅当前稿件文件中的学术写作质量问题。先通读稿件,再按照下列规范的优先级依次检查,最后给出带位置标注的具体问题和修改建议。
9
+
10
+ ## 审阅流程
11
+
12
+ 1. 阅读完整稿件文件(`manuscript.md` 或用户指定的文件)
13
+ 2. 按照下方优先级顺序逐项检查各条规范
14
+ 3. 按优先级分组报告发现的问题,并附上文件位置和具体修改建议
15
+ 4. 如果用户同意,再应用这些修改
16
+
17
+ ## 优先级 1:关键结构问题
18
+
19
+ 这些问题会影响整篇文稿,应优先处理。
20
+
21
+ **1.1 引言与相关工作分离**
22
+ - 引言和相关工作必须合并为一个统一的 Introduction
23
+ - 建议结构:问题/研究动机 → 传统方法 → 带引用的现代方法 → 研究空白 → 本文贡献 → 论文组织
24
+
25
+ **1.2 引言内部出现小节**
26
+ - Introduction 必须是连贯叙述,不能包含任何 `##` 标题
27
+ - 删除所有子小节,并重组为自然衔接的段落
28
+
29
+ **1.3 过多使用 `###`(三级标题)**
30
+ - 将其改写为带过渡语的叙述性段落
31
+ - 可使用“First, ...”“Subsequently, ...”“Building upon this, ...”等表达连接主题
32
+
33
+ ## 优先级 2:主要行文流畅性问题
34
+
35
+ 在结构正确之后再处理这些问题。
36
+
37
+ **2.1 伪标题**:将加粗文本当作标题使用
38
+
39
+ 识别模式:段首出现 `**Label**: content...`。应改写为自然叙述。
40
+
41
+ 修改前:
42
+ ```markdown
43
+ **Data Collection**: We collected data from multiple sources...
44
+
45
+ **Data Cleaning**: The data was preprocessed by removing outliers...
46
+ ```
47
+
48
+ 修改后:
49
+ ```markdown
50
+ Data was collected from multiple sources including sensor networks and historical
51
+ records. The raw data underwent preprocessing to remove outliers and handle missing
52
+ values through interpolation.
53
+ ```
54
+
55
+ **2.2 列表过多的写法**:用简短项目符号代替段落
56
+
57
+ 应使用枚举式衔接语将其改写为叙述性段落。
58
+
59
+ 修改前:
60
+ ```markdown
61
+ The procedure includes:
62
+ - Data preprocessing
63
+ - Feature extraction
64
+ - Model training
65
+ ```
66
+
67
+ 修改后:
68
+ ```markdown
69
+ The procedure consists of three main stages. First, data preprocessing cleans
70
+ and normalizes the input. Second, feature extraction captures discriminative
71
+ characteristics. Third, model training optimizes the objective function.
72
+ ```
73
+
74
+ **2.3 重复的图表引导句式**
75
+
76
+ 识别:段落以 `@fig:label shows/presents/illustrates...` 开头。
77
+
78
+ 修改方式:先写叙述内容,再在句末或段末放置图引用。
79
+ ```markdown
80
+ The experimental results demonstrate superior performance, with the proposed
81
+ method achieving 95% accuracy, as shown in @fig:results.
82
+ ```
83
+
84
+ 表达可适当变化,例如“as shown in”“depicted in”“presented in”,或使用括号形式 `(@fig:label)`。
85
+
86
+ ## 优先级 3:次要格式问题
87
+
88
+ 在结构和行文流畅性修正完成后再进行润色。
89
+
90
+ **3.1 过度使用加粗**
91
+ - 允许:表格中的最优结果、贡献陈述中的作者名称
92
+ - 不允许:正文强调、列表项标签、伪标题
93
+
94
+ **3.2 交叉引用语法错误**
95
+ - 检查所有 `@fig:`、`@tbl:`、`@eq:`、`@sec:` 引用是否都指向有效标签
96
+
97
+ **3.3 引文格式**
98
+ - 括号式引用:`[@key]` 或 `[@key1; @key2]`
99
+ - 叙述式引用:`@key showed that...`
100
+
101
+ ## 附加检查项
102
+
103
+ **段落质量:**
104
+ - 每段应有 3-7 句,围绕一个中心思想展开,并以主题句开头
105
+ - 标记单句段落(过渡段除外)
106
+ - 标记过长段落(超过 10 句)
107
+
108
+ **章节结构:**
109
+ - Introduction:不设子小节,并整合相关工作
110
+ - Methods/Results/Discussion:允许子小节,但每节最多建议 3-5 个
111
+ - Conclusion:通常不设子小节
112
+
113
+ **编号列表:**
114
+ - 每一项都应是完整句子或完整段落,而不是简短词组