chaffjs 0.18.0 → 0.19.0

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 (682) hide show
  1. package/README.md +52 -56
  2. package/bin/chaff.js +17 -2
  3. package/dist/acronym-expansions.d.ts +26 -0
  4. package/dist/acronym-expansions.d.ts.map +1 -0
  5. package/dist/acronym-expansions.js +88 -0
  6. package/dist/acronym-expansions.js.map +1 -0
  7. package/dist/announced-count.d.ts.map +1 -1
  8. package/dist/announced-count.js +44 -10
  9. package/dist/announced-count.js.map +1 -1
  10. package/dist/announced-list.d.ts +30 -0
  11. package/dist/announced-list.d.ts.map +1 -0
  12. package/dist/announced-list.js +95 -0
  13. package/dist/announced-list.js.map +1 -0
  14. package/dist/api.d.ts +168 -0
  15. package/dist/api.d.ts.map +1 -0
  16. package/dist/api.js +10 -0
  17. package/dist/api.js.map +1 -0
  18. package/dist/cli-text.d.ts +0 -1
  19. package/dist/cli-text.d.ts.map +1 -1
  20. package/dist/cli-text.js +6 -14
  21. package/dist/cli-text.js.map +1 -1
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +58 -62
  24. package/dist/cli.js.map +1 -1
  25. package/dist/closing-paragraph.d.ts +7 -0
  26. package/dist/closing-paragraph.d.ts.map +1 -0
  27. package/dist/closing-paragraph.js +22 -0
  28. package/dist/closing-paragraph.js.map +1 -0
  29. package/dist/commands/compare.d.ts +8 -1
  30. package/dist/commands/compare.d.ts.map +1 -1
  31. package/dist/commands/compare.js +9 -17
  32. package/dist/commands/compare.js.map +1 -1
  33. package/dist/commands/document-commands.d.ts +9 -0
  34. package/dist/commands/document-commands.d.ts.map +1 -0
  35. package/dist/commands/document-commands.js +17 -0
  36. package/dist/commands/document-commands.js.map +1 -0
  37. package/dist/commands/eval.d.ts.map +1 -1
  38. package/dist/commands/eval.js +3 -2
  39. package/dist/commands/eval.js.map +1 -1
  40. package/dist/commands/facts.d.ts +8 -0
  41. package/dist/commands/facts.d.ts.map +1 -0
  42. package/dist/commands/facts.js +30 -0
  43. package/dist/commands/facts.js.map +1 -0
  44. package/dist/commands/feedback.d.ts +10 -0
  45. package/dist/commands/feedback.d.ts.map +1 -1
  46. package/dist/commands/feedback.js +25 -1
  47. package/dist/commands/feedback.js.map +1 -1
  48. package/dist/commands/fix-plan.d.ts +13 -0
  49. package/dist/commands/fix-plan.d.ts.map +1 -0
  50. package/dist/commands/fix-plan.js +44 -0
  51. package/dist/commands/fix-plan.js.map +1 -0
  52. package/dist/commands/outline.d.ts +8 -0
  53. package/dist/commands/outline.d.ts.map +1 -0
  54. package/dist/commands/outline.js +43 -0
  55. package/dist/commands/outline.js.map +1 -0
  56. package/dist/commands/read-document.d.ts +14 -0
  57. package/dist/commands/read-document.d.ts.map +1 -0
  58. package/dist/commands/read-document.js +21 -0
  59. package/dist/commands/read-document.js.map +1 -0
  60. package/dist/commands/suppressions.d.ts +7 -0
  61. package/dist/commands/suppressions.d.ts.map +1 -0
  62. package/dist/commands/suppressions.js +9 -0
  63. package/dist/commands/suppressions.js.map +1 -0
  64. package/dist/commands/test.js +1 -1
  65. package/dist/commands/test.js.map +1 -1
  66. package/dist/compare/clock-time.d.ts.map +1 -1
  67. package/dist/compare/clock-time.js +5 -2
  68. package/dist/compare/clock-time.js.map +1 -1
  69. package/dist/compare/distinct.d.ts +9 -0
  70. package/dist/compare/distinct.d.ts.map +1 -0
  71. package/dist/compare/distinct.js +12 -0
  72. package/dist/compare/distinct.js.map +1 -0
  73. package/dist/compare/extract.d.ts.map +1 -1
  74. package/dist/compare/extract.js +7 -5
  75. package/dist/compare/extract.js.map +1 -1
  76. package/dist/compare/fact-key.d.ts +17 -0
  77. package/dist/compare/fact-key.d.ts.map +1 -0
  78. package/dist/compare/fact-key.js +25 -0
  79. package/dist/compare/fact-key.js.map +1 -0
  80. package/dist/compare/fact-text.d.ts +5 -0
  81. package/dist/compare/fact-text.d.ts.map +1 -1
  82. package/dist/compare/fact-text.js +16 -2
  83. package/dist/compare/fact-text.js.map +1 -1
  84. package/dist/compare/facts-render.d.ts +17 -0
  85. package/dist/compare/facts-render.d.ts.map +1 -0
  86. package/dist/compare/facts-render.js +43 -0
  87. package/dist/compare/facts-render.js.map +1 -0
  88. package/dist/compare/facts-text.d.ts +15 -0
  89. package/dist/compare/facts-text.d.ts.map +1 -0
  90. package/dist/compare/facts-text.js +27 -0
  91. package/dist/compare/facts-text.js.map +1 -0
  92. package/dist/compare/match.d.ts +1 -0
  93. package/dist/compare/match.d.ts.map +1 -1
  94. package/dist/compare/match.js +1 -1
  95. package/dist/compare/match.js.map +1 -1
  96. package/dist/compare/outcome.d.ts +4 -1
  97. package/dist/compare/outcome.d.ts.map +1 -1
  98. package/dist/compare/outcome.js +10 -4
  99. package/dist/compare/outcome.js.map +1 -1
  100. package/dist/compare/proper-nouns.d.ts +3 -3
  101. package/dist/compare/proper-nouns.d.ts.map +1 -1
  102. package/dist/compare/proper-nouns.js +2 -3
  103. package/dist/compare/proper-nouns.js.map +1 -1
  104. package/dist/compare/render.d.ts +4 -0
  105. package/dist/compare/render.d.ts.map +1 -1
  106. package/dist/compare/render.js +2 -2
  107. package/dist/compare/render.js.map +1 -1
  108. package/dist/compare/text-atoms.d.ts +5 -2
  109. package/dist/compare/text-atoms.d.ts.map +1 -1
  110. package/dist/compare/text-atoms.js +7 -5
  111. package/dist/compare/text-atoms.js.map +1 -1
  112. package/dist/compare/text.d.ts.map +1 -1
  113. package/dist/compare/text.js +2 -2
  114. package/dist/compare/text.js.map +1 -1
  115. package/dist/config/load.d.ts +8 -0
  116. package/dist/config/load.d.ts.map +1 -1
  117. package/dist/config/load.js +1 -0
  118. package/dist/config/load.js.map +1 -1
  119. package/dist/config/option-problems.d.ts +3 -2
  120. package/dist/config/option-problems.d.ts.map +1 -1
  121. package/dist/config/option-problems.js +4 -3
  122. package/dist/config/option-problems.js.map +1 -1
  123. package/dist/config/style.d.ts +5 -0
  124. package/dist/config/style.d.ts.map +1 -1
  125. package/dist/config/style.js +13 -1
  126. package/dist/config/style.js.map +1 -1
  127. package/dist/custom/load.d.ts +6 -3
  128. package/dist/custom/load.d.ts.map +1 -1
  129. package/dist/custom/load.js +10 -2
  130. package/dist/custom/load.js.map +1 -1
  131. package/dist/custom/module-path.d.ts +11 -0
  132. package/dist/custom/module-path.d.ts.map +1 -0
  133. package/dist/custom/module-path.js +15 -0
  134. package/dist/custom/module-path.js.map +1 -0
  135. package/dist/custom/parse.d.ts +17 -3
  136. package/dist/custom/parse.d.ts.map +1 -1
  137. package/dist/custom/parse.js +57 -14
  138. package/dist/custom/parse.js.map +1 -1
  139. package/dist/custom/problems.d.ts +4 -1
  140. package/dist/custom/problems.d.ts.map +1 -1
  141. package/dist/custom/problems.js +56 -39
  142. package/dist/custom/problems.js.map +1 -1
  143. package/dist/detect-language.js +1 -1
  144. package/dist/detect.d.ts.map +1 -1
  145. package/dist/detect.js +9 -3
  146. package/dist/detect.js.map +1 -1
  147. package/dist/detectors/ai-phrasing.d.ts +4 -1
  148. package/dist/detectors/ai-phrasing.d.ts.map +1 -1
  149. package/dist/detectors/ai-phrasing.js +6 -2
  150. package/dist/detectors/ai-phrasing.js.map +1 -1
  151. package/dist/detectors/bold-label.d.ts +10 -0
  152. package/dist/detectors/bold-label.d.ts.map +1 -0
  153. package/dist/detectors/bold-label.js +44 -0
  154. package/dist/detectors/bold-label.js.map +1 -0
  155. package/dist/detectors/dangling-figure.d.ts +5 -2
  156. package/dist/detectors/dangling-figure.d.ts.map +1 -1
  157. package/dist/detectors/dangling-figure.js +5 -3
  158. package/dist/detectors/dangling-figure.js.map +1 -1
  159. package/dist/detectors/definition-use.d.ts +8 -0
  160. package/dist/detectors/definition-use.d.ts.map +1 -0
  161. package/dist/detectors/definition-use.js +32 -0
  162. package/dist/detectors/definition-use.js.map +1 -0
  163. package/dist/detectors/doubled-punctuation.d.ts.map +1 -1
  164. package/dist/detectors/doubled-punctuation.js +4 -2
  165. package/dist/detectors/doubled-punctuation.js.map +1 -1
  166. package/dist/detectors/duplicate-heading.d.ts +14 -0
  167. package/dist/detectors/duplicate-heading.d.ts.map +1 -0
  168. package/dist/detectors/duplicate-heading.js +39 -0
  169. package/dist/detectors/duplicate-heading.js.map +1 -0
  170. package/dist/detectors/empty-section.d.ts +8 -0
  171. package/dist/detectors/empty-section.d.ts.map +1 -0
  172. package/dist/detectors/empty-section.js +16 -0
  173. package/dist/detectors/empty-section.js.map +1 -0
  174. package/dist/detectors/fullwidth-alnum.d.ts +24 -0
  175. package/dist/detectors/fullwidth-alnum.d.ts.map +1 -0
  176. package/dist/detectors/fullwidth-alnum.js +88 -0
  177. package/dist/detectors/fullwidth-alnum.js.map +1 -0
  178. package/dist/detectors/hankaku-kana.d.ts +9 -0
  179. package/dist/detectors/hankaku-kana.d.ts.map +1 -0
  180. package/dist/detectors/hankaku-kana.js +27 -0
  181. package/dist/detectors/hankaku-kana.js.map +1 -0
  182. package/dist/detectors/heading-code-words.js +2 -2
  183. package/dist/detectors/heading-code-words.js.map +1 -1
  184. package/dist/detectors/index.d.ts.map +1 -1
  185. package/dist/detectors/index.js +36 -0
  186. package/dist/detectors/index.js.map +1 -1
  187. package/dist/detectors/invisible-character.d.ts +20 -0
  188. package/dist/detectors/invisible-character.d.ts.map +1 -0
  189. package/dist/detectors/invisible-character.js +143 -0
  190. package/dist/detectors/invisible-character.js.map +1 -0
  191. package/dist/detectors/kutoten-consistency.js +2 -2
  192. package/dist/detectors/kutoten-consistency.js.map +1 -1
  193. package/dist/detectors/lexicon-match.d.ts +10 -1
  194. package/dist/detectors/lexicon-match.d.ts.map +1 -1
  195. package/dist/detectors/lexicon-match.js +26 -1
  196. package/dist/detectors/lexicon-match.js.map +1 -1
  197. package/dist/detectors/lexicon.d.ts +6 -1
  198. package/dist/detectors/lexicon.d.ts.map +1 -1
  199. package/dist/detectors/lexicon.js +31 -13
  200. package/dist/detectors/lexicon.js.map +1 -1
  201. package/dist/detectors/list-sentence.d.ts +3 -1
  202. package/dist/detectors/list-sentence.d.ts.map +1 -1
  203. package/dist/detectors/list-sentence.js +26 -1
  204. package/dist/detectors/list-sentence.js.map +1 -1
  205. package/dist/detectors/long-vowel.d.ts.map +1 -1
  206. package/dist/detectors/long-vowel.js +18 -4
  207. package/dist/detectors/long-vowel.js.map +1 -1
  208. package/dist/detectors/markup-finding.d.ts +3 -1
  209. package/dist/detectors/markup-finding.d.ts.map +1 -1
  210. package/dist/detectors/markup-finding.js +10 -0
  211. package/dist/detectors/markup-finding.js.map +1 -1
  212. package/dist/detectors/modal-conflict.d.ts +4 -0
  213. package/dist/detectors/modal-conflict.d.ts.map +1 -0
  214. package/dist/detectors/modal-conflict.js +22 -0
  215. package/dist/detectors/modal-conflict.js.map +1 -0
  216. package/dist/detectors/name-variant.d.ts +4 -0
  217. package/dist/detectors/name-variant.d.ts.map +1 -0
  218. package/dist/detectors/name-variant.js +13 -0
  219. package/dist/detectors/name-variant.js.map +1 -0
  220. package/dist/detectors/nominalization.d.ts +11 -0
  221. package/dist/detectors/nominalization.d.ts.map +1 -0
  222. package/dist/detectors/nominalization.js +56 -0
  223. package/dist/detectors/nominalization.js.map +1 -0
  224. package/dist/detectors/orthography.d.ts.map +1 -1
  225. package/dist/detectors/orthography.js +59 -28
  226. package/dist/detectors/orthography.js.map +1 -1
  227. package/dist/detectors/outside-announced-list.d.ts +4 -0
  228. package/dist/detectors/outside-announced-list.d.ts.map +1 -0
  229. package/dist/detectors/outside-announced-list.js +24 -0
  230. package/dist/detectors/outside-announced-list.js.map +1 -0
  231. package/dist/detectors/oxford-comma.d.ts.map +1 -1
  232. package/dist/detectors/oxford-comma.js +1 -0
  233. package/dist/detectors/oxford-comma.js.map +1 -1
  234. package/dist/detectors/phrase-match.d.ts +4 -1
  235. package/dist/detectors/phrase-match.d.ts.map +1 -1
  236. package/dist/detectors/phrase-match.js +26 -7
  237. package/dist/detectors/phrase-match.js.map +1 -1
  238. package/dist/detectors/ra-nuki.d.ts +9 -0
  239. package/dist/detectors/ra-nuki.d.ts.map +1 -0
  240. package/dist/detectors/ra-nuki.js +30 -0
  241. package/dist/detectors/ra-nuki.js.map +1 -0
  242. package/dist/detectors/requirement-modal.d.ts +5 -0
  243. package/dist/detectors/requirement-modal.d.ts.map +1 -0
  244. package/dist/detectors/requirement-modal.js +54 -0
  245. package/dist/detectors/requirement-modal.js.map +1 -0
  246. package/dist/detectors/requirement-smell.d.ts +4 -0
  247. package/dist/detectors/requirement-smell.d.ts.map +1 -0
  248. package/dist/detectors/requirement-smell.js +41 -0
  249. package/dist/detectors/requirement-smell.js.map +1 -0
  250. package/dist/detectors/space-before-punctuation.d.ts +8 -0
  251. package/dist/detectors/space-before-punctuation.d.ts.map +1 -0
  252. package/dist/detectors/space-before-punctuation.js +24 -0
  253. package/dist/detectors/space-before-punctuation.js.map +1 -0
  254. package/dist/detectors/spelling-variety.d.ts +23 -0
  255. package/dist/detectors/spelling-variety.d.ts.map +1 -0
  256. package/dist/detectors/spelling-variety.js +59 -0
  257. package/dist/detectors/spelling-variety.js.map +1 -0
  258. package/dist/detectors/structure-tree.d.ts.map +1 -1
  259. package/dist/detectors/structure-tree.js +3 -1
  260. package/dist/detectors/structure-tree.js.map +1 -1
  261. package/dist/detectors/structure.d.ts.map +1 -1
  262. package/dist/detectors/structure.js +16 -2
  263. package/dist/detectors/structure.js.map +1 -1
  264. package/dist/detectors/superlative-comparison.d.ts +20 -0
  265. package/dist/detectors/superlative-comparison.d.ts.map +1 -0
  266. package/dist/detectors/superlative-comparison.js +32 -0
  267. package/dist/detectors/superlative-comparison.js.map +1 -0
  268. package/dist/detectors/url-run-on.d.ts.map +1 -1
  269. package/dist/detectors/url-run-on.js +6 -1
  270. package/dist/detectors/url-run-on.js.map +1 -1
  271. package/dist/detectors/vague-figure-pointer.d.ts +10 -0
  272. package/dist/detectors/vague-figure-pointer.d.ts.map +1 -0
  273. package/dist/detectors/vague-figure-pointer.js +46 -0
  274. package/dist/detectors/vague-figure-pointer.js.map +1 -0
  275. package/dist/detectors/word-list.d.ts +2 -0
  276. package/dist/detectors/word-list.d.ts.map +1 -1
  277. package/dist/detectors/word-list.js +4 -1
  278. package/dist/detectors/word-list.js.map +1 -1
  279. package/dist/document.d.ts +9 -3
  280. package/dist/document.d.ts.map +1 -1
  281. package/dist/document.js +55 -32
  282. package/dist/document.js.map +1 -1
  283. package/dist/extension/document-view.d.ts +7 -0
  284. package/dist/extension/document-view.d.ts.map +1 -0
  285. package/dist/extension/document-view.js +91 -0
  286. package/dist/extension/document-view.js.map +1 -0
  287. package/dist/extension/failure-text.d.ts +5 -0
  288. package/dist/extension/failure-text.d.ts.map +1 -0
  289. package/dist/extension/failure-text.js +33 -0
  290. package/dist/extension/failure-text.js.map +1 -0
  291. package/dist/extension/import-default.d.ts +7 -0
  292. package/dist/extension/import-default.d.ts.map +1 -0
  293. package/dist/extension/import-default.js +21 -0
  294. package/dist/extension/import-default.js.map +1 -0
  295. package/dist/extension/load.d.ts +28 -0
  296. package/dist/extension/load.d.ts.map +1 -0
  297. package/dist/extension/load.js +51 -0
  298. package/dist/extension/load.js.map +1 -0
  299. package/dist/extension/module-detector.d.ts +21 -0
  300. package/dist/extension/module-detector.d.ts.map +1 -0
  301. package/dist/extension/module-detector.js +49 -0
  302. package/dist/extension/module-detector.js.map +1 -0
  303. package/dist/extension/plugin-load.d.ts +9 -0
  304. package/dist/extension/plugin-load.d.ts.map +1 -0
  305. package/dist/extension/plugin-load.js +68 -0
  306. package/dist/extension/plugin-load.js.map +1 -0
  307. package/dist/extension/plugin-name.d.ts +8 -0
  308. package/dist/extension/plugin-name.d.ts.map +1 -0
  309. package/dist/extension/plugin-name.js +22 -0
  310. package/dist/extension/plugin-name.js.map +1 -0
  311. package/dist/extension/plugin-parse.d.ts +41 -0
  312. package/dist/extension/plugin-parse.d.ts.map +1 -0
  313. package/dist/extension/plugin-parse.js +156 -0
  314. package/dist/extension/plugin-parse.js.map +1 -0
  315. package/dist/extension/problem-text.d.ts +5 -0
  316. package/dist/extension/problem-text.d.ts.map +1 -0
  317. package/dist/extension/problem-text.js +74 -0
  318. package/dist/extension/problem-text.js.map +1 -0
  319. package/dist/extension/real-path.d.ts +3 -0
  320. package/dist/extension/real-path.d.ts.map +1 -0
  321. package/dist/extension/real-path.js +8 -0
  322. package/dist/extension/real-path.js.map +1 -0
  323. package/dist/extension/returned-findings.d.ts +17 -0
  324. package/dist/extension/returned-findings.d.ts.map +1 -0
  325. package/dist/extension/returned-findings.js +48 -0
  326. package/dist/extension/returned-findings.js.map +1 -0
  327. package/dist/extension/rule-export.d.ts +13 -0
  328. package/dist/extension/rule-export.d.ts.map +1 -0
  329. package/dist/extension/rule-export.js +16 -0
  330. package/dist/extension/rule-export.js.map +1 -0
  331. package/dist/feedback/draft.d.ts +2 -0
  332. package/dist/feedback/draft.d.ts.map +1 -1
  333. package/dist/feedback/draft.js +3 -0
  334. package/dist/feedback/draft.js.map +1 -1
  335. package/dist/figure-references.d.ts +11 -2
  336. package/dist/figure-references.d.ts.map +1 -1
  337. package/dist/figure-references.js +50 -13
  338. package/dist/figure-references.js.map +1 -1
  339. package/dist/finding-order.d.ts +9 -0
  340. package/dist/finding-order.d.ts.map +1 -0
  341. package/dist/finding-order.js +3 -0
  342. package/dist/finding-order.js.map +1 -0
  343. package/dist/fix-plan/mode.d.ts +21 -0
  344. package/dist/fix-plan/mode.d.ts.map +1 -0
  345. package/dist/fix-plan/mode.js +16 -0
  346. package/dist/fix-plan/mode.js.map +1 -0
  347. package/dist/fix-plan/plan.d.ts +77 -0
  348. package/dist/fix-plan/plan.d.ts.map +1 -0
  349. package/dist/fix-plan/plan.js +100 -0
  350. package/dist/fix-plan/plan.js.map +1 -0
  351. package/dist/fix-plan/render.d.ts +6 -0
  352. package/dist/fix-plan/render.d.ts.map +1 -0
  353. package/dist/fix-plan/render.js +101 -0
  354. package/dist/fix-plan/render.js.map +1 -0
  355. package/dist/fix-plan/text.d.ts +35 -0
  356. package/dist/fix-plan/text.d.ts.map +1 -0
  357. package/dist/fix-plan/text.js +95 -0
  358. package/dist/fix-plan/text.js.map +1 -0
  359. package/dist/language-sample.d.ts +2 -0
  360. package/dist/language-sample.d.ts.map +1 -0
  361. package/dist/language-sample.js +41 -0
  362. package/dist/language-sample.js.map +1 -0
  363. package/dist/link-line.d.ts +8 -0
  364. package/dist/link-line.d.ts.map +1 -0
  365. package/dist/link-line.js +12 -0
  366. package/dist/link-line.js.map +1 -0
  367. package/dist/long-vowel.d.ts +9 -6
  368. package/dist/long-vowel.d.ts.map +1 -1
  369. package/dist/long-vowel.js +15 -8
  370. package/dist/long-vowel.js.map +1 -1
  371. package/dist/markup.d.ts.map +1 -1
  372. package/dist/markup.js +4 -2
  373. package/dist/markup.js.map +1 -1
  374. package/dist/name-variants.d.ts +25 -0
  375. package/dist/name-variants.d.ts.map +1 -0
  376. package/dist/name-variants.js +181 -0
  377. package/dist/name-variants.js.map +1 -0
  378. package/dist/node-version.d.ts +7 -0
  379. package/dist/node-version.d.ts.map +1 -0
  380. package/dist/node-version.js +19 -0
  381. package/dist/node-version.js.map +1 -0
  382. package/dist/not-run.d.ts +14 -0
  383. package/dist/not-run.d.ts.map +1 -0
  384. package/dist/not-run.js +12 -0
  385. package/dist/not-run.js.map +1 -0
  386. package/dist/orthography.d.ts +8 -1
  387. package/dist/orthography.d.ts.map +1 -1
  388. package/dist/orthography.js +33 -12
  389. package/dist/orthography.js.map +1 -1
  390. package/dist/outline/render.d.ts +18 -0
  391. package/dist/outline/render.d.ts.map +1 -0
  392. package/dist/outline/render.js +60 -0
  393. package/dist/outline/render.js.map +1 -0
  394. package/dist/outline/shape.d.ts +26 -0
  395. package/dist/outline/shape.d.ts.map +1 -0
  396. package/dist/outline/shape.js +37 -0
  397. package/dist/outline/shape.js.map +1 -0
  398. package/dist/outline/text.d.ts +21 -0
  399. package/dist/outline/text.d.ts.map +1 -0
  400. package/dist/outline/text.js +30 -0
  401. package/dist/outline/text.js.map +1 -0
  402. package/dist/plugin.d.ts +24 -2
  403. package/dist/plugin.d.ts.map +1 -1
  404. package/dist/reasons.d.ts +1 -0
  405. package/dist/reasons.d.ts.map +1 -1
  406. package/dist/reasons.js +2 -0
  407. package/dist/reasons.js.map +1 -1
  408. package/dist/render/compact.d.ts +3 -1
  409. package/dist/render/compact.d.ts.map +1 -1
  410. package/dist/render/compact.js +8 -2
  411. package/dist/render/compact.js.map +1 -1
  412. package/dist/render/explain.d.ts +3 -1
  413. package/dist/render/explain.d.ts.map +1 -1
  414. package/dist/render/explain.js +32 -15
  415. package/dist/render/explain.js.map +1 -1
  416. package/dist/render/rules-json.d.ts.map +1 -1
  417. package/dist/render/rules-json.js +16 -12
  418. package/dist/render/rules-json.js.map +1 -1
  419. package/dist/render/suppressions.d.ts +3 -0
  420. package/dist/render/suppressions.d.ts.map +1 -1
  421. package/dist/render/suppressions.js +20 -1
  422. package/dist/render/suppressions.js.map +1 -1
  423. package/dist/rule-guide.d.ts +19 -0
  424. package/dist/rule-guide.d.ts.map +1 -1
  425. package/dist/rule-guide.js +14 -0
  426. package/dist/rule-guide.js.map +1 -1
  427. package/dist/run-semantic.d.ts.map +1 -1
  428. package/dist/run-semantic.js +2 -1
  429. package/dist/run-semantic.js.map +1 -1
  430. package/dist/run.d.ts +5 -1
  431. package/dist/run.d.ts.map +1 -1
  432. package/dist/run.js +31 -14
  433. package/dist/run.js.map +1 -1
  434. package/dist/setting-problems.d.ts.map +1 -1
  435. package/dist/setting-problems.js +3 -1
  436. package/dist/setting-problems.js.map +1 -1
  437. package/dist/spacing-minority.d.ts +16 -0
  438. package/dist/spacing-minority.d.ts.map +1 -0
  439. package/dist/spacing-minority.js +23 -0
  440. package/dist/spacing-minority.js.map +1 -0
  441. package/dist/stet-block.d.ts +5 -0
  442. package/dist/stet-block.d.ts.map +1 -0
  443. package/dist/stet-block.js +59 -0
  444. package/dist/stet-block.js.map +1 -0
  445. package/dist/stet.d.ts +4 -0
  446. package/dist/stet.d.ts.map +1 -1
  447. package/dist/stet.js +31 -11
  448. package/dist/stet.js.map +1 -1
  449. package/dist/structure/date-range.d.ts +10 -0
  450. package/dist/structure/date-range.d.ts.map +1 -1
  451. package/dist/structure/date-range.js +33 -1
  452. package/dist/structure/date-range.js.map +1 -1
  453. package/dist/structure/definition-use.d.ts +32 -0
  454. package/dist/structure/definition-use.d.ts.map +1 -0
  455. package/dist/structure/definition-use.js +102 -0
  456. package/dist/structure/definition-use.js.map +1 -0
  457. package/dist/structure/lazy-tree.d.ts +8 -0
  458. package/dist/structure/lazy-tree.d.ts.map +1 -0
  459. package/dist/structure/lazy-tree.js +14 -0
  460. package/dist/structure/lazy-tree.js.map +1 -0
  461. package/dist/structure/modal-conflict.d.ts +28 -0
  462. package/dist/structure/modal-conflict.d.ts.map +1 -0
  463. package/dist/structure/modal-conflict.js +74 -0
  464. package/dist/structure/modal-conflict.js.map +1 -0
  465. package/dist/structure/numbered-clauses.d.ts +4 -0
  466. package/dist/structure/numbered-clauses.d.ts.map +1 -0
  467. package/dist/structure/numbered-clauses.js +9 -0
  468. package/dist/structure/numbered-clauses.js.map +1 -0
  469. package/dist/structure/universal.d.ts.map +1 -1
  470. package/dist/structure/universal.js +8 -2
  471. package/dist/structure/universal.js.map +1 -1
  472. package/dist/style-parse.d.ts +6 -0
  473. package/dist/style-parse.d.ts.map +1 -1
  474. package/dist/style-parse.js +32 -4
  475. package/dist/style-parse.js.map +1 -1
  476. package/dist/subheading-line.d.ts +19 -2
  477. package/dist/subheading-line.d.ts.map +1 -1
  478. package/dist/subheading-line.js +39 -11
  479. package/dist/subheading-line.js.map +1 -1
  480. package/dist/tag-coverage.d.ts +8 -0
  481. package/dist/tag-coverage.d.ts.map +1 -0
  482. package/dist/tag-coverage.js +7 -0
  483. package/dist/tag-coverage.js.map +1 -0
  484. package/genres.yaml +42 -0
  485. package/package.json +7 -3
  486. package/rules/acronym-expansion-conflict.yaml +82 -0
  487. package/rules/adverb-overuse.yaml +2 -2
  488. package/rules/agentless-passive.yaml +28 -0
  489. package/rules/ai-tell.yaml +34 -0
  490. package/rules/announced-count-mismatch.yaml +2 -2
  491. package/rules/announcing-opener.yaml +31 -0
  492. package/rules/assistant-residue.yaml +30 -0
  493. package/rules/bold-density.yaml +28 -0
  494. package/rules/bold-label-list.yaml +81 -0
  495. package/rules/closing-cliche.yaml +27 -2
  496. package/rules/colon-lead-in.yaml +28 -4
  497. package/rules/contrast-framing.yaml +33 -2
  498. package/rules/cushion-phrase-density.yaml +32 -5
  499. package/rules/dangling-reference.yaml +1 -0
  500. package/rules/date-order.yaml +1 -0
  501. package/rules/date-range-reversed.yaml +2 -2
  502. package/rules/double-negative.yaml +51 -0
  503. package/rules/doubled-punctuation.yaml +2 -2
  504. package/rules/doubled-word.yaml +2 -2
  505. package/rules/duplicate-heading.yaml +78 -0
  506. package/rules/emoji-density.yaml +5 -4
  507. package/rules/empty-intensifier.yaml +25 -0
  508. package/rules/empty-section.yaml +74 -0
  509. package/rules/excessive-hedging.yaml +32 -4
  510. package/rules/fullwidth-alnum-consistency.yaml +53 -0
  511. package/rules/hankaku-kana.yaml +41 -0
  512. package/rules/image-alt-text.yaml +1 -1
  513. package/rules/invisible-character.yaml +63 -0
  514. package/rules/katakana-long-vowel.yaml +10 -9
  515. package/rules/latin-spacing.yaml +12 -5
  516. package/rules/max-kanji-continuous.yaml +1 -0
  517. package/rules/max-paragraph-length.yaml +1 -0
  518. package/rules/max-sentence-length.yaml +26 -0
  519. package/rules/modal-conflict.yaml +106 -0
  520. package/rules/name-variant.yaml +88 -0
  521. package/rules/no-doubled-joshi.yaml +1 -0
  522. package/rules/no-em-dash.yaml +26 -2
  523. package/rules/no-mixed-desumasu.yaml +1 -0
  524. package/rules/nominalization.yaml +89 -0
  525. package/rules/outside-announced-list.yaml +80 -0
  526. package/rules/padded-intro.yaml +25 -0
  527. package/rules/paragraph-length-variance.yaml +26 -2
  528. package/rules/preferred-term.yaml +1 -0
  529. package/rules/proper-noun-density.yaml +14 -5
  530. package/rules/ra-nuki.yaml +43 -0
  531. package/rules/requirement-modal.yaml +94 -0
  532. package/rules/requirement-smell.yaml +70 -0
  533. package/rules/rule-of-three.yaml +46 -0
  534. package/rules/section-length-uniformity.yaml +26 -2
  535. package/rules/sentence-rhythm.yaml +26 -0
  536. package/rules/space-before-punctuation.yaml +41 -0
  537. package/rules/spelling-consistency.yaml +47 -0
  538. package/rules/stock-transition.yaml +33 -2
  539. package/rules/taigen-dome-in-prose.yaml +14 -0
  540. package/rules/total-mismatch.yaml +1 -0
  541. package/rules/undefined-acronym.yaml +1 -0
  542. package/rules/unqualified-superlative.yaml +5 -4
  543. package/rules/unused-definition.yaml +75 -0
  544. package/rules/use-before-definition.yaml +77 -0
  545. package/rules/vague-figure-reference.yaml +66 -0
  546. package/skills/chaff/SKILL.md +108 -8
  547. package/src/acronym-expansions.ts +106 -0
  548. package/src/announced-count.ts +53 -11
  549. package/src/announced-list.ts +120 -0
  550. package/src/api.ts +154 -0
  551. package/src/cli-text.ts +6 -11
  552. package/src/cli.ts +64 -63
  553. package/src/closing-paragraph.ts +24 -0
  554. package/src/commands/compare.ts +11 -18
  555. package/src/commands/document-commands.ts +19 -0
  556. package/src/commands/eval.ts +3 -2
  557. package/src/commands/facts.ts +33 -0
  558. package/src/commands/feedback.ts +33 -1
  559. package/src/commands/fix-plan.ts +53 -0
  560. package/src/commands/outline.ts +49 -0
  561. package/src/commands/read-document.ts +24 -0
  562. package/src/commands/suppressions.ts +19 -0
  563. package/src/commands/test.ts +1 -1
  564. package/src/compare/clock-time.ts +5 -2
  565. package/src/compare/distinct.ts +13 -0
  566. package/src/compare/extract.ts +7 -5
  567. package/src/compare/fact-key.ts +31 -0
  568. package/src/compare/fact-text.ts +21 -2
  569. package/src/compare/facts-render.ts +63 -0
  570. package/src/compare/facts-text.ts +41 -0
  571. package/src/compare/match.ts +1 -1
  572. package/src/compare/outcome.ts +14 -4
  573. package/src/compare/proper-nouns.ts +4 -4
  574. package/src/compare/render.ts +2 -2
  575. package/src/compare/text-atoms.ts +7 -6
  576. package/src/compare/text.ts +3 -2
  577. package/src/config/load.ts +9 -0
  578. package/src/config/option-problems.ts +6 -4
  579. package/src/config/style.ts +14 -1
  580. package/src/custom/load.ts +11 -3
  581. package/src/custom/module-path.ts +23 -0
  582. package/src/custom/parse.ts +67 -18
  583. package/src/custom/problems.ts +63 -41
  584. package/src/detect-language.ts +1 -1
  585. package/src/detect.ts +10 -3
  586. package/src/detectors/ai-phrasing.ts +6 -2
  587. package/src/detectors/bold-label.ts +55 -0
  588. package/src/detectors/dangling-figure.ts +8 -4
  589. package/src/detectors/definition-use.ts +41 -0
  590. package/src/detectors/doubled-punctuation.ts +5 -2
  591. package/src/detectors/duplicate-heading.ts +47 -0
  592. package/src/detectors/empty-section.ts +21 -0
  593. package/src/detectors/fullwidth-alnum.ts +118 -0
  594. package/src/detectors/hankaku-kana.ts +38 -0
  595. package/src/detectors/heading-code-words.ts +2 -2
  596. package/src/detectors/index.ts +36 -0
  597. package/src/detectors/invisible-character.ts +190 -0
  598. package/src/detectors/kutoten-consistency.ts +2 -2
  599. package/src/detectors/lexicon-match.ts +33 -1
  600. package/src/detectors/lexicon.ts +40 -13
  601. package/src/detectors/list-sentence.ts +45 -4
  602. package/src/detectors/long-vowel.ts +20 -4
  603. package/src/detectors/markup-finding.ts +16 -1
  604. package/src/detectors/modal-conflict.ts +26 -0
  605. package/src/detectors/name-variant.ts +15 -0
  606. package/src/detectors/nominalization.ts +73 -0
  607. package/src/detectors/orthography.ts +77 -27
  608. package/src/detectors/outside-announced-list.ts +25 -0
  609. package/src/detectors/oxford-comma.ts +1 -0
  610. package/src/detectors/phrase-match.ts +27 -7
  611. package/src/detectors/ra-nuki.ts +38 -0
  612. package/src/detectors/requirement-modal.ts +67 -0
  613. package/src/detectors/requirement-smell.ts +52 -0
  614. package/src/detectors/space-before-punctuation.ts +32 -0
  615. package/src/detectors/spelling-variety.ts +81 -0
  616. package/src/detectors/structure-tree.ts +3 -1
  617. package/src/detectors/structure.ts +17 -3
  618. package/src/detectors/superlative-comparison.ts +47 -0
  619. package/src/detectors/url-run-on.ts +7 -1
  620. package/src/detectors/vague-figure-pointer.ts +58 -0
  621. package/src/detectors/word-list.ts +6 -1
  622. package/src/document.ts +88 -41
  623. package/src/extension/document-view.ts +109 -0
  624. package/src/extension/failure-text.ts +46 -0
  625. package/src/extension/import-default.ts +13 -0
  626. package/src/extension/load.ts +97 -0
  627. package/src/extension/module-detector.ts +61 -0
  628. package/src/extension/plugin-load.ts +82 -0
  629. package/src/extension/plugin-name.ts +26 -0
  630. package/src/extension/plugin-parse.ts +229 -0
  631. package/src/extension/problem-text.ts +103 -0
  632. package/src/extension/real-path.ts +10 -0
  633. package/src/extension/returned-findings.ts +62 -0
  634. package/src/extension/rule-export.ts +23 -0
  635. package/src/feedback/draft.ts +6 -0
  636. package/src/figure-references.ts +73 -12
  637. package/src/finding-order.ts +3 -0
  638. package/src/fix-plan/mode.ts +34 -0
  639. package/src/fix-plan/plan.ts +181 -0
  640. package/src/fix-plan/render.ts +128 -0
  641. package/src/fix-plan/text.ts +133 -0
  642. package/src/language-sample.ts +48 -0
  643. package/src/link-line.ts +13 -0
  644. package/src/long-vowel.ts +18 -8
  645. package/src/markup.ts +4 -2
  646. package/src/name-variants.ts +217 -0
  647. package/src/node-version.ts +22 -0
  648. package/src/not-run.ts +16 -0
  649. package/src/orthography.ts +40 -11
  650. package/src/outline/render.ts +85 -0
  651. package/src/outline/shape.ts +72 -0
  652. package/src/outline/text.ts +50 -0
  653. package/src/plugin.ts +21 -4
  654. package/src/reasons.ts +3 -0
  655. package/src/render/compact.ts +13 -3
  656. package/src/render/explain.ts +47 -20
  657. package/src/render/rules-json.ts +18 -12
  658. package/src/render/suppressions.ts +30 -2
  659. package/src/rule-guide.ts +38 -0
  660. package/src/run-semantic.ts +2 -1
  661. package/src/run.ts +37 -17
  662. package/src/setting-problems.ts +3 -1
  663. package/src/spacing-minority.ts +27 -0
  664. package/src/stet-block.ts +60 -0
  665. package/src/stet.ts +41 -15
  666. package/src/structure/date-range.ts +49 -1
  667. package/src/structure/definition-use.ts +130 -0
  668. package/src/structure/lazy-tree.ts +15 -0
  669. package/src/structure/modal-conflict.ts +86 -0
  670. package/src/structure/numbered-clauses.ts +11 -0
  671. package/src/structure/universal.ts +10 -2
  672. package/src/style-parse.ts +38 -3
  673. package/src/subheading-line.ts +51 -13
  674. package/src/tag-coverage.ts +13 -0
  675. package/styles/ieice.yaml +5 -4
  676. package/styles/jis-z8301-2011.yaml +5 -2
  677. package/styles/jis-z8301-2019.yaml +31 -0
  678. package/styles/koyobun.yaml +35 -0
  679. package/dist/legal-address.d.ts +0 -2
  680. package/dist/legal-address.d.ts.map +0 -1
  681. package/dist/legal-address.js +0 -16
  682. package/dist/legal-address.js.map +0 -1
@@ -0,0 +1,70 @@
1
+ id: requirement-smell
2
+ layer: L2
3
+ status: experimental
4
+ how_to_find: requirement-smell
5
+ # 要求の文の目印と、三つの見つけ方の語。語はすべて言語ごとの語彙表にある。
6
+ word_list: requirement-marker
7
+ extra_word_lists: [requirement-loophole, requirement-open-end, requirement-either]
8
+ uses: [pos]
9
+ severity: warning
10
+
11
+ name:
12
+ ja: 要求の文に、決めきれない言い方がある
13
+ en: A requirement that leaves its reader to decide
14
+
15
+ why:
16
+ ja: 仕様書や契約書の要求は、満たしたかどうかを誰が読んでも同じに決められる必要があります。「可能な限り」「必要に応じて」は、どこまでしたら満たしたことになるのかを書き手が決めずに残します。要求の文の「等」「など」は、ほかに何が含まれるのかを残し、「及び/又は」は両方なのか片方でよいのかを残します。要求の書き方を調べた研究(Femmer ほか 2017、Berry ほか 2003)と ISO/IEC/IEEE 29148 が、どれも避ける言い方に挙げています。要求の文(「〜しなければならない」「〜ものとする」「〜こと。」で終わる文)だけを見ます。
17
+ en: 'A requirement in a specification or a contract must be one that any reader can check the same way. "As far as possible" and "if necessary" leave open how much is enough. "Etc." in a requirement leaves open what else it covers, and "and/or" leaves open whether both are meant or one is enough. Studies of requirements (Femmer et al. 2017; Berry et al. 2003) and ISO/IEC/IEEE 29148 all list these among the phrases to avoid. Only a sentence that states a requirement (with shall, must or is required to) is checked.'
18
+
19
+ message:
20
+ ja: 「{matched}」は、要求を決めきらずに残しています
21
+ en: '"{matched}" leaves the requirement open'
22
+
23
+ messages:
24
+ loophole:
25
+ ja: 「{matched}」は、どこまでしたら満たしたことになるのかを決めていません
26
+ en: '"{matched}" does not say how much is enough to meet the requirement'
27
+ open-end:
28
+ ja: 要求の中の「{matched}」は、ほかに何が含まれるのかを決めていません
29
+ en: '"{matched}" in a requirement does not say what else it covers'
30
+ either:
31
+ ja: 「{matched}」は、両方なのか片方でよいのかを決めていません
32
+ en: '"{matched}" does not say whether both are meant or either is enough'
33
+
34
+ how_to_fix:
35
+ ja: 満たしたかどうかを確かめられる形に書き直してください。「可能な限り速く」なら「3 秒以内に」、「ログ等を保存すること」なら保存するものを全部並べる、「A 及び/又は B」なら「A 又は B(両方でもよい)」のように。
36
+ en: 'Rewrite it so that meeting it can be checked: "as fast as possible" becomes "within 3 seconds", "logs, etc." becomes the full list, and "A and/or B" becomes "A, B, or both".'
37
+
38
+ placeholders:
39
+ matched:
40
+ ja: 見つけた語
41
+ en: the phrase found
42
+
43
+ levels: { strict: error, normal: warning, relaxed: info }
44
+
45
+ # 要求を書く文書だけ。仕様書、契約書・規約、説明書(マニュアル・FAQ)。ほかの法務・説明書のジャンルと、学術・文学・話し言葉は
46
+ # genres.yaml で止める(法令は「等」を定義して使う、用語集の「〜すること。」は語の説明)。
47
+ use_for: [technical/spec, legal, docs, academic, literature, speech]
48
+ sources: [femmer-2017, berry-2003, iso-29148]
49
+
50
+ group: wording
51
+ summary:
52
+ ja: 仕様書や契約書の要求の文にある「可能な限り」「必要に応じて」「等」「及び/又は」
53
+ en: '"As far as possible", "if necessary", "etc." or "and/or" in a requirement of a specification or a contract'
54
+ example:
55
+ ja:
56
+ before: |
57
+ 予約の画面は、可能な限り速く表示されなければならない。
58
+ after: |
59
+ 予約の画面は、3 秒以内に表示されなければならない。
60
+ config: { genre: technical/spec }
61
+ en:
62
+ before: |
63
+ The booking page must load as fast as possible.
64
+ after: |
65
+ The booking page must load within 3 seconds.
66
+ config: { genre: technical/spec }
67
+
68
+ not_flagged:
69
+ ja: 要求の文でない文(説明や背景)、法令、ブログやビジネス文書は見ません。語彙表にない言い方は指しません。
70
+ en: Sentences that state no requirement (background, explanation), statutes, and blogs and business documents are not checked. Phrases not on chaff's lists are not reported.
@@ -23,6 +23,7 @@ how_to_fix:
23
23
  levels: { strict: 50, normal: 70, relaxed: 90 }
24
24
 
25
25
  use_for: [blog, legal, docs, academic, literature, speech]
26
+ sources: [reinhart-2025, zhang-2024]
26
27
 
27
28
  group: ai-tells
28
29
  summary:
@@ -120,3 +121,48 @@ not_flagged:
120
121
  level_meaning:
121
122
  ja: 3 項目の箇条書きの割合 {limit}% まで
122
123
  en: up to {limit}% of lists with exactly three items
124
+ rewrite:
125
+ ja:
126
+ direction: 三つ並んだ箇条書きのうち、ほかの項目と同じことを言っている項目を消すか、一つにまとめてください。本当に三つあるリストはそのままにします。
127
+ pairs:
128
+ - before: |
129
+ - 速い
130
+ - 高速に動く
131
+ - 安い
132
+ after: |
133
+ - 速い
134
+ - 安い
135
+ - before: |
136
+ - 費用の削減
137
+ - コストの低減
138
+ - 保守の手間が減る
139
+ after: |
140
+ - 費用が下がる
141
+ - 保守の手間が減る
142
+ keep:
143
+ - 互いに別のことを言っている項目
144
+ avoid:
145
+ - 別々のことを一つにまとめて意味を変える
146
+ - 三つを避けるために四つ目を作る
147
+ en:
148
+ direction: In each list of three, delete or merge the item that says what another item already says. A list that really has three items stays.
149
+ pairs:
150
+ - before: |
151
+ - fast
152
+ - quick to run
153
+ - cheap
154
+ after: |
155
+ - fast
156
+ - cheap
157
+ - before: |
158
+ - lower costs
159
+ - reduced spending
160
+ - less maintenance
161
+ after: |
162
+ - lower costs
163
+ - less maintenance
164
+ keep:
165
+ - items that say different things
166
+ avoid:
167
+ - merging two different things into one and changing the meaning
168
+ - inventing a fourth item to get away from three
@@ -22,6 +22,14 @@ how_to_fix:
22
22
 
23
23
  levels: { strict: 45, normal: 35, relaxed: 25 }
24
24
 
25
+ options:
26
+ min_sections:
27
+ kind: count
28
+ default: 5
29
+ about:
30
+ ja: 測る節の数の下限。節が少ないと長さのばらつきは偶然で小さく出て、人の書いた文書でも揃って見えます
31
+ en: The fewest sections measured. With few sections, the variation is small by chance, and a person's writing looks uniform too
32
+
25
33
  use_for: [blog, legal, docs, academic, literature, speech]
26
34
 
27
35
  group: ai-tells
@@ -49,6 +57,10 @@ example:
49
57
  ## 確かめる
50
58
 
51
59
  試しの文書を置いて、指摘が画面に出るかを見ます。
60
+
61
+ ## 更新する
62
+
63
+ 新しい版が出たら、同じ公式のページから入れ直します。
52
64
  after: |
53
65
  # 新しい道具の紹介
54
66
 
@@ -67,6 +79,10 @@ example:
67
79
  ## 確かめる
68
80
 
69
81
  試しの文書を置いて、指摘が画面に出るかを見ます。
82
+
83
+ ## 更新する
84
+
85
+ 新しい版は同じページにあります。
70
86
  en:
71
87
  config: { genre: blog/tech }
72
88
  before: |
@@ -87,6 +103,10 @@ example:
87
103
  ## Check
88
104
 
89
105
  Add a sample document and look for findings on the screen.
106
+
107
+ ## Update
108
+
109
+ When a new version comes out, install it again from the same page.
90
110
  after: |
91
111
  # Introducing the new tool
92
112
 
@@ -106,9 +126,13 @@ example:
106
126
 
107
127
  Add a sample document and look for findings on the screen.
108
128
 
129
+ ## Update
130
+
131
+ New versions are on the same page.
132
+
109
133
  not_flagged:
110
- ja: ビジネス文書と技術文書のジャンルでは見ません。
111
- en: Business and technical genres do not run this rule.
134
+ ja: 中身のある節が 5 より少ない文書は見ません(min_sections で変えられます)。ビジネス文書と技術文書のジャンルでは見ません。
135
+ en: Documents with fewer than 5 sections are not checked (min_sections changes it). Business and technical genres do not run this rule.
112
136
  level_meaning:
113
137
  ja: 節の長さのばらつきが {limit}% 未満なら指摘
114
138
  en: reported when section length varies by less than {limit}%
@@ -28,6 +28,7 @@ levels:
28
28
  relaxed: 20
29
29
 
30
30
  use_for: [blog, legal, docs, academic, literature, speech]
31
+ sources: [iwamoto-2026]
31
32
 
32
33
  group: readability
33
34
  summary:
@@ -53,3 +54,28 @@ not_flagged:
53
54
  level_meaning:
54
55
  ja: 文の長さのばらつきが {limit}% 未満なら指摘
55
56
  en: reported when sentence length varies by less than {limit}%
57
+ rewrite:
58
+ ja:
59
+ direction: 長めの文のいくつかを、意味の切れ目で二つに割ってください。結論の文は短くします。言葉は足しません。
60
+ pairs:
61
+ - before: 設定は管理画面から変えられ、変えた内容はすぐに反映され、元に戻すこともできます。
62
+ after: 設定は管理画面から変えられ、すぐに反映されます。元にも戻せます。
63
+ - before: この方式は導入が簡単で費用も安いため、多くの部署で採用されています。
64
+ after: この方式は導入が簡単で、費用も安い方式です。多くの部署が採用しています。
65
+ keep:
66
+ - 文の中身と順番
67
+ avoid:
68
+ - 全部の文を短くして、別の単調さにする
69
+ - リズムのために言葉や例を足す
70
+ en:
71
+ direction: Split a few of the longer sentences at a break in the meaning. Make the sentence that carries the conclusion short. Add no words.
72
+ pairs:
73
+ - before: The setting can be changed from the admin page, the change applies at once, and it can be undone.
74
+ after: The setting can be changed from the admin page and applies at once. It can be undone.
75
+ - before: This method is easy to set up and cheap to run, which is why many departments have adopted it.
76
+ after: This method is easy to set up and cheap to run. Many departments have adopted it.
77
+ keep:
78
+ - what the sentences say, in the same order
79
+ avoid:
80
+ - cutting every sentence short, which is another monotone
81
+ - adding words or examples for the sake of rhythm
@@ -0,0 +1,41 @@
1
+ id: space-before-punctuation
2
+ layer: L1
3
+ status: experimental
4
+ how_to_find: space-before-punctuation
5
+ languages: [en]
6
+ severity: warning
7
+
8
+ name:
9
+ ja: 句読点の前に空白がある
10
+ en: Space before punctuation
11
+
12
+ why:
13
+ ja: '英文では句読点を前の語に付けて書きます。「word .」「(word) ,」のように前に空白があると、行の折り返しで句読点だけが次の行の頭に落ちることがあり、書き換えの途中で残った空白に見えます。ピリオド・カンマ・セミコロン・疑問符・感嘆符を見ます。コロン("Note : ")、空白で区切った省略の点や目次の点線(". . .")、".NET" や ".5" のように次の語の頭の点、数の後ろ(式の "[ 1 , N ]")、コードと URL は数えません。前の空白が二つ以上の所(表のように並べた行)も数えません。'
14
+ en: 'English attaches punctuation to the word before it. A space before it ("word .", "(word) ,") can leave the mark alone at the start of the next line, and reads as a space left over from an edit. Periods, commas, semicolons, question marks and exclamation marks are checked. A colon ("Note : "), dots spaced out as an ellipsis or a leader in a table of contents (". . ."), a dot that starts the next word (".NET", ".5"), a mark after a number ("[ 1 , N ]" in a formula), code and URLs are not counted, nor are two or more spaces before the mark (a line laid out like a table).'
15
+
16
+ message:
17
+ ja: 「{mark}」の前に空白があります
18
+ en: 'A space before "{mark}"'
19
+
20
+ how_to_fix:
21
+ ja: 空白を消して、句読点を前の語に付けてください。
22
+ en: Delete the space and attach the mark to the word before it.
23
+
24
+ levels: { strict: error, normal: warning, relaxed: info }
25
+
26
+ use_for: [business, technical, blog, legal, docs, academic, literature, speech]
27
+
28
+ group: slips
29
+ summary:
30
+ ja: 英文の「word .」「word ,」のように、句読点の前に空白がある所
31
+ en: A space before a period, comma, semicolon, question mark or exclamation mark, as in "word ."
32
+ example:
33
+ en:
34
+ before: |
35
+ The form is ready , and the office has a copy .
36
+ after: |
37
+ The form is ready, and the office has a copy.
38
+
39
+ not_flagged:
40
+ ja: コロン、空白で区切った省略の点や目次の点線(「. . .」)、「.NET」「.5」のような語の頭の点、数の後ろの句読点、二つ以上の空白の後ろの句読点、コードと URL は指しません。
41
+ en: Colons, dots spaced out as an ellipsis or a leader (". . ."), a dot that starts a word (".NET", ".5"), a mark after a number or after two or more spaces, code and URLs are not reported.
@@ -0,0 +1,47 @@
1
+ id: spelling-consistency
2
+ layer: L3
3
+ status: experimental
4
+ how_to_find: spelling-variety
5
+ word_list: spelling-variant
6
+ extra_word_lists: [spelling-ize]
7
+ languages: [en]
8
+ severity: info
9
+
10
+ name:
11
+ ja: イギリスとアメリカの綴りが混ざっている
12
+ en: British and American spellings are mixed
13
+
14
+ why:
15
+ ja: colour と color、centre と center、organise と organize のように、イギリスとアメリカの綴りはどちらも正しい英語です。困るのは一つの文書の中で混ざることで、検索で別の語になり、別の人が書いた段落がそこだけ違って見えます。chaff はどちらが正しいかを決めず、文書の中で少ないほうを指摘します。-ise と -ize は別に比べます(Oxford の綴りは colour と organize を一緒に使うため)。文の頭でないのに大文字で始まる語(Labor Day、World Health Organization)は名前なので数えず、引用符の中と引用符で引いた語(‘organize’)も数えません。古い文学の綴りは時代のものなので、文学のジャンルでは既定で止めています。少ないほうが三分の一を超える文書は、使い分けている(引用や固有の用語)と見て言いません。
16
+ en: British and American spellings (colour and color, centre and center, organise and organize) are both correct English. What reads badly is mixing them in one document, which makes search treat them as different words and makes another writer's paragraph stand out. chaff does not decide which is right; it points at whichever the document uses less. -ise and -ize are compared on their own, since Oxford spelling writes colour with organize. A word capitalised in the middle of a sentence (Labor Day, World Health Organization) is a name and is not counted, nor is anything in quotation marks or a word quoted on its own (‘organize’). The literature preset turns it off, since old spelling belongs to its time. It says nothing when the minority is more than a third, since the document then mixes them on purpose (quotations, fixed terms).
17
+
18
+ message:
19
+ ja: 「{matched}」と書いています(この文書はふつう「{other}」の綴り。{of} 箇所のうち {count} 箇所が違う)
20
+ en: '"{matched}" here, where the document usually spells it "{other}" ({count} of {of})'
21
+
22
+ how_to_fix:
23
+ ja: 文書の多いほうの綴りに合わせてください。チームで決めているなら、STYLE.md に書いておくと迷いません。
24
+ en: Match the spelling the rest of the document uses. If the team has decided, write it in the style guide.
25
+
26
+ # 少ないほうが組の何パーセントまでなら「混ざっている」と見るか。これを超えたら、文書が使い分けている。
27
+ levels: { strict: 49, normal: 34, relaxed: 20 }
28
+
29
+ use_for: [business, technical, blog, legal, docs, academic, literature, speech]
30
+
31
+ group: consistency
32
+ summary:
33
+ ja: 英語で、colour と color のように、イギリスとアメリカの綴りが一つの文書の中で混ざっている所
34
+ en: British and American spellings (colour and color, centre and center) mixed in one document
35
+ example:
36
+ en:
37
+ before: |
38
+ The colour of the logo is blue. The colour of the button is green. The color of the link is red.
39
+ after: |
40
+ The colour of the logo is blue. The colour of the button is green. The colour of the link is red.
41
+
42
+ not_flagged:
43
+ ja: どちらの綴りが正しいかは決めません。-ise と -ize は別に比べるので、Oxford の綴り(colour と organize)はそろっていると見ます。文の途中で大文字で始まる名前(Labor Day)と引用符の中は数えません。
44
+ en: Neither spelling is called right. -ise and -ize are compared on their own, so Oxford spelling (colour with organize) is consistent. Names capitalised mid-sentence (Labor Day) and quotations are not counted.
45
+ level_meaning:
46
+ ja: 少ないほうが組の {limit}% 以下のとき指摘
47
+ en: reported when the minority spelling is {limit}% of its group or less
@@ -51,5 +51,36 @@ not_flagged:
51
51
  ja: 話を運ぶ接続詞(「また」「そのため」「しかし」)と、文の途中の接ぎは数えません。短い文書は測りません。
52
52
  en: Words that carry the argument (However, Therefore), a transition inside a sentence, and "In addition to …" are not counted. Short documents are not measured.
53
53
  level_meaning:
54
- ja: 1000 字あたり {limit} 個まで
55
- en: up to {limit} per 1000 words
54
+ ja: 決まった接ぎで始まる文が 1000 字あたり {limit} 個まで
55
+ en: up to {limit} sentences per 1000 words opening with a stock transition
56
+ rewrite:
57
+ ja:
58
+ direction: 文頭の接ぎの語を消して読み返してください。繋がりが分からなくなる所だけ、前の文との関係(理由、例外、順番)を言葉で書きます。
59
+ pairs:
60
+ - before: さらに、ログの保存期間も延ばしました。
61
+ after: ログの保存期間も延ばしました。
62
+ - before: 費用が下がりました。加えて、速度も上がりました。
63
+ after: 費用が下がり、速度も上がりました。
64
+ - before: このように、設定は三か所で変わります。
65
+ after: 設定が変わるのは、この三か所です。
66
+ keep:
67
+ - 文の順番
68
+ - 書き手が書いた理由や対比
69
+ avoid:
70
+ - 「さらに」を「また」「そして」に替えるだけで済ませる
71
+ - 書き手が書いていない因果(「〜なので」)を作る
72
+ en:
73
+ direction: Delete the transition at the start of the sentence and reread. Only where the link is lost, say what it is (a reason, an exception, an order).
74
+ pairs:
75
+ - before: Moreover, we extended log retention.
76
+ after: We also extended log retention.
77
+ - before: Costs fell. Additionally, speed improved.
78
+ after: Costs fell and speed improved.
79
+ - before: In conclusion, the settings change in three places.
80
+ after: The settings change in three places.
81
+ keep:
82
+ - the order of the sentences
83
+ - a reason or contrast the writer stated
84
+ avoid:
85
+ - swapping "Moreover" for "Also" at the start of every sentence
86
+ - inventing a cause ("because") the writer did not state
@@ -44,3 +44,17 @@ not_flagged:
44
44
  level_meaning:
45
45
  ja: 本文の体言止め {limit} 文まで
46
46
  en: up to {limit} noun-ending sentences in the body
47
+ rewrite:
48
+ ja:
49
+ direction: 本文で名詞で止めた文に、文書の文体に合わせた述語(です・ます、または、だ・である)を足してください。見出し、箇条書き、表はそのままにします。
50
+ pairs:
51
+ - before: 次の課題は費用。
52
+ after: 次の課題は費用です。
53
+ - before: 導入は来月から。対象は営業部。
54
+ after: 導入は来月からです。対象は営業部です。
55
+ keep:
56
+ - 見出し、箇条書き、表の体言止め
57
+ - 文書の文体(です・ます、または、だ・である)
58
+ avoid:
59
+ - 文末を「〜となります」「〜になります」に揃えて別の癖を作る
60
+ - 述語を足すときに強める(「大きな課題です」)
@@ -24,6 +24,7 @@ how_to_fix:
24
24
  levels: { normal: error, relaxed: warning }
25
25
 
26
26
  use_for: [business, technical, blog, legal, docs, academic, literature, speech]
27
+ sources: [de-marneffe-2008]
27
28
 
28
29
  group: facts
29
30
  summary:
@@ -41,6 +41,7 @@ how_to_fix:
41
41
  levels: { strict: 1, normal: 3, relaxed: 6 }
42
42
 
43
43
  use_for: [business, technical, legal, docs, academic, literature, speech]
44
+ sources: [plain-2011, jis-z8301-2019]
44
45
 
45
46
  group: readability
46
47
  summary:
@@ -26,22 +26,23 @@ how_to_fix:
26
26
  levels: { strict: 1, normal: 2, relaxed: 4 }
27
27
 
28
28
  use_for: [business, blog, legal, docs, academic, literature, speech]
29
+ sources: [femmer-2017]
29
30
 
30
31
  group: wording
31
32
  summary:
32
- ja: 「業界最速」「最高の品質」のように、何と比べたのかを書いていない最上級
33
+ ja: 「最速」「最高の品質」のように、何と比べたのかを書いていない最上級
33
34
  en: A superlative such as "the fastest" with nothing to compare it against
34
35
  example:
35
36
  ja:
36
- before: 当社の新製品は業界最速で、最高の品質です。圧倒的な使いやすさです。
37
+ before: 当社の新製品は最速で、最高の品質です。圧倒的な使いやすさです。
37
38
  after: 当社の新製品は、従来品より処理が二割速くなりました。
38
39
  en:
39
40
  before: Our new product is the fastest on the market, with unmatched quality and unparalleled ease of use.
40
41
  after: Our new product processes orders a fifth faster than the previous model.
41
42
 
42
43
  not_flagged:
43
- ja: 「当社比」「〜の中で」のように、比べる相手や範囲が同じ文にあれば指しません。
44
- en: A superlative with its comparison or scope in the same sentence ("in our range", "than last year") is not reported.
44
+ ja: 「当社比」「〜の中で」「〜のほうが」のように、比べる相手や範囲が同じ文にあれば指しません。「SES との最大の違い」のように、最上級のすぐ前に相手があるときも同じです。「国内最大」「業界最速」のように名詞がじかに付いた最上級と、「日本で最も」のように名前と「で」が前にある最上級は、範囲を言っているので指しません。「」や引用符で引いた言葉の中の最上級は、書き手の主張ではないので指しません。
45
+ en: A superlative with its comparison or scope in the same sentence ("in our range", "than last year", "the fastest in the industry") is not reported, nor is one inside quotation marks, which are someone else's words.
45
46
  level_meaning:
46
47
  ja: 比べる相手のない最上級が {limit} 箇所あれば指摘
47
48
  en: reported once there are {limit} such claims
@@ -0,0 +1,75 @@
1
+ id: unused-definition
2
+ layer: L3
3
+ status: experimental
4
+ how_to_find: unused-definition
5
+ requires: [structure]
6
+ severity: warning
7
+
8
+ name:
9
+ ja: 定義したのに使っていない語
10
+ en: Term defined but never used
11
+
12
+ why:
13
+ ja: 定義した語が本文に一度も出てこなければ、その定義は読み手に覚えさせるだけで何も決めていません。多いのは、本文で別の語に言い換えたあと、定義だけが残った場合です。本文のほうが定義と違う語を使っていないかも確かめてください。
14
+ en: A term defined and then never used makes the reader learn it for nothing. Usually the body was reworded to another word and the definition stayed behind, so check whether the body now uses a different word for the same thing.
15
+
16
+ message:
17
+ ja: 「{term}」を定義していますが、本文で使っていません
18
+ en: '"{term}" is defined but never used'
19
+
20
+ how_to_fix:
21
+ ja: 本文で使っていないなら定義を消してください。本文が別の語で同じものを指しているなら、どちらかに揃えます。
22
+ en: Delete the definition if nothing uses it. If the body calls the same thing by another word, use one of the two throughout.
23
+
24
+ # chaff explain と規則の一覧には指摘が無いので、{term} をこう読ませる。
25
+ placeholders:
26
+ term:
27
+ ja: 〇〇
28
+ en: the term
29
+
30
+ levels: { strict: error, normal: warning, relaxed: info }
31
+
32
+ use_for: [business, technical, blog, legal, docs, academic, literature, speech]
33
+
34
+ group: structure
35
+ summary:
36
+ ja: 定義した語が、本文のどこにも出てこない所
37
+ en: A term the document defines and then never uses
38
+ example:
39
+ ja:
40
+ before: |
41
+ 「本サービス」とは、当社が運営する予約のサイトをいう。利用者は、このサイトを無料で使える。
42
+ after: |
43
+ 「本サービス」とは、当社が運営する予約のサイトをいう。利用者は、本サービスを無料で使える。
44
+ en:
45
+ before: |
46
+ "Service" means the booking website we run. Users may use the website free of charge.
47
+ after: |
48
+ "Service" means the booking website we run. Users may use the Service free of charge.
49
+
50
+ not_flagged:
51
+ ja: 定義の書き方(「X」とは、以下「X」という)で書いた語だけを見ます。複数形と所有の形(Services、Seller's)は使用に数えます。同じ語の二つ目の定義は duplicate-definition が言います。
52
+ en: Only terms defined in a recognised form ("X" means, (the "X")) are checked. Plurals and possessives (Services, Seller's) count as uses. A second definition of the same term is duplicate-definition's to report.
53
+ rewrite:
54
+ ja:
55
+ direction: 本文で使っていない定義を消してください。本文が同じものを別の語で呼んでいるなら、その語を定義した語に替えます。どちらかは書き手に聞きます。
56
+ pairs:
57
+ - before: 「本サービス」とは、当社が運営する予約のサイトをいう。利用者は、このサイトを無料で使える。
58
+ after: 「本サービス」とは、当社が運営する予約のサイトをいう。利用者は、本サービスを無料で使える。
59
+ - before: 「登録情報」とは、利用者が登録した氏名と住所をいう。利用者は、氏名と住所をいつでも変えられる。
60
+ after: 利用者は、登録した氏名と住所をいつでも変えられる。(本文が定義した語をどこでも使わないとき)
61
+ keep:
62
+ - 定義の中身
63
+ avoid:
64
+ - 定義を残したまま、本文に使い道を作る
65
+ en:
66
+ direction: Delete a definition nothing uses. If the body calls the same thing by another word, replace that word with the defined term; ask the writer which.
67
+ pairs:
68
+ - before: '"Service" means the booking website we run. Users may use the website free of charge.'
69
+ after: '"Service" means the booking website we run. Users may use the Service free of charge.'
70
+ - before: '"Account Data" means the name and address a user registers. Users may change their name and address at any time.'
71
+ after: Users may change the name and address they registered at any time. (when nothing else uses the term)
72
+ keep:
73
+ - what the definition says
74
+ avoid:
75
+ - inventing a use for the term to keep the definition
@@ -0,0 +1,77 @@
1
+ id: use-before-definition
2
+ layer: L3
3
+ status: experimental
4
+ how_to_find: use-before-definition
5
+ requires: [structure]
6
+ severity: warning
7
+
8
+ name:
9
+ ja: 定義より前で使っている語
10
+ en: Term used before it is defined
11
+
12
+ why:
13
+ ja: 文の途中で「(以下「甲」という。)」と定義した語を、その定義より前で使うと、読み手は意味の分からない語を先に読むことになります。前で使った箇所は、定義の前に書き足した文であることが多く、定義の位置が古いままです。
14
+ en: A term defined in passing, as in (the "Seller"), and used before that point makes the reader meet a word whose meaning has not been given yet. The earlier use is usually a sentence added later, in front of a definition that stayed where it was.
15
+
16
+ message:
17
+ ja: 「{term}」を、{defined} 行目の定義より前で使っています
18
+ en: '"{term}" is used here, before it is defined on line {defined}'
19
+
20
+ how_to_fix:
21
+ ja: 定義を最初に使う所へ移すか、前の箇所を定義した語を使わない書き方にしてください。
22
+ en: Move the definition to the first use, or reword the earlier sentence without the defined term.
23
+
24
+ placeholders:
25
+ term:
26
+ ja: 〇〇
27
+ en: the term
28
+ defined:
29
+ ja: 〇
30
+ en: N
31
+
32
+ levels: { strict: error, normal: warning, relaxed: info }
33
+
34
+ use_for: [business, technical, blog, legal, docs, academic, literature, speech]
35
+
36
+ group: structure
37
+ summary:
38
+ ja: 文の途中で括弧に入れて定義した語を、その定義より前で使っている所
39
+ en: A term defined in passing, as in (the "Seller"), that is used before that point
40
+ example:
41
+ ja:
42
+ before: |
43
+ 買主は、毎月末日に代金を支払う。株式会社みなと(以下「買主」という。)と株式会社やまと(以下「売主」という。)は、次のとおり契約する。
44
+ after: |
45
+ 株式会社みなと(以下「買主」という。)と株式会社やまと(以下「売主」という。)は、次のとおり契約する。買主は、毎月末日に代金を支払う。
46
+ en:
47
+ before: |
48
+ The Seller ships within five days. This agreement is between Harbour Ltd (the "Seller") and Hill Ltd (the "Buyer").
49
+ after: |
50
+ This agreement is between Harbour Ltd (the "Seller") and Hill Ltd (the "Buyer"). The Seller ships within five days.
51
+
52
+ not_flagged:
53
+ ja: 定義の条(「X」とは…をいう)で定義した語は、前で使っても言いません。定義の条は文書の頭にも終わりにも置く書き方があるためです。最初の一か所だけを指します。
54
+ en: Terms defined in a definitions clause ("X" means ...) are not checked, since a definitions clause may come first or last. Only the first early use is pointed at.
55
+ rewrite:
56
+ ja:
57
+ direction: 定義を、その語を最初に使う文へ移してください。移せないなら、前の文を定義した語を使わない書き方にします。
58
+ pairs:
59
+ - before: 買主は、毎月末日に代金を支払う。株式会社みなと(以下「買主」という。)と株式会社やまと(以下「売主」という。)は、次のとおり契約する。
60
+ after: 株式会社みなと(以下「買主」という。)と株式会社やまと(以下「売主」という。)は、次のとおり契約する。買主は、毎月末日に代金を支払う。
61
+ - before: 本規約の改定は、利用者に通知する。当社は、予約の仕組み(以下「本サービス」という。)を提供する。本サービスは無料である。
62
+ after: 当社は、予約の仕組み(以下「本サービス」という。)を提供する。本規約の改定は、利用者に通知する。本サービスは無料である。(前の文が「本規約」を使わずに書けないとき)
63
+ keep:
64
+ - 定義の中身と、それぞれの文の中身
65
+ avoid:
66
+ - 定義を二か所に書く
67
+ en:
68
+ direction: Move the definition to the sentence that first uses the term. If it cannot move, reword the earlier sentence without the defined term.
69
+ pairs:
70
+ - before: The Seller ships within five days. This agreement is between Harbour Ltd (the "Seller") and Hill Ltd (the "Buyer").
71
+ after: This agreement is between Harbour Ltd (the "Seller") and Hill Ltd (the "Buyer"). The Seller ships within five days.
72
+ - before: The Licensee may cancel at any time. Hill Ltd (the "Licensee") licenses the software from us.
73
+ after: Hill Ltd may cancel at any time. Hill Ltd (the "Licensee") licenses the software from us.
74
+ keep:
75
+ - what each sentence says
76
+ avoid:
77
+ - defining the term twice
@@ -0,0 +1,66 @@
1
+ id: vague-figure-reference
2
+ layer: L2
3
+ status: experimental
4
+ how_to_find: vague-figure-pointer
5
+ # 置き場所で指す言い方と、その言い方が指す種類(図・表)。図・表に名前を付ける語は dangling-figure-reference と同じ figure-label。
6
+ # 箇条を置き場所で指す言い方は vague-clause-pointer。文書の構造の木に番号付きの条か章があるときだけ見る。
7
+ word_list: vague-figure-pointer
8
+ extra_word_lists: [figure-label, vague-clause-pointer]
9
+ severity: warning
10
+
11
+ name:
12
+ ja: 図や表、箇条を「上記の図」のように指している
13
+ en: A figure, table or clause pointed at by where it is
14
+
15
+ why:
16
+ ja: 「上記の図」「下の表」は、どの図のことかを読み手に探させます。図を足したり動かしたりすると、指す先が黙って変わります。印刷やページの区切り、画面の幅で「上」「下」も変わります。JIS Z 8301:2019 の 10.6 は「上記の図」「以下の箇条」のような引用をしないとしています。図や表に番号を付けている文書なら、「図 3」のように番号で指せます。箇条も、条や章に番号を付けている文書なら「箇条 4」のように指せます。番号を一つも付けていない種類は見ません。
17
+ en: '"The figure above" makes the reader search for the figure. When a figure is added or moved, what it points at changes without a word. Printing, page breaks and the width of the screen change what is above and below as well. JIS Z 8301:2019, 10.6, rules out pointers such as "the figure above". A document that numbers its figures and tables can name them ("Figure 3"), and one that numbers its clauses can name a clause ("Clause 4"). A kind that the document never numbers is not checked.'
18
+
19
+ message:
20
+ ja: 「{matched}」ではなく、番号で指してください(この文書は{kind}に番号を付けています)
21
+ en: 'Name it by its number instead of "{matched}" (this document numbers its {kind}s)'
22
+
23
+ how_to_fix:
24
+ ja: 指している図や表、箇条の番号を書いてください。「上記の図のとおり」は「図 3 のとおり」に、「以下の箇条による」は「箇条 5 による」に。
25
+ en: 'Write the number of the figure, table or clause. "As the figure above shows" becomes "as Figure 3 shows"; "under the clause below" becomes "under Clause 5".'
26
+
27
+ placeholders:
28
+ matched:
29
+ ja: 見つけた言い方
30
+ en: the phrase found
31
+ kind:
32
+ ja: 図、表や箇条
33
+ en: figure, table or clause
34
+
35
+ levels: { strict: error, normal: warning, relaxed: info }
36
+
37
+ use_for: [business, technical, blog, legal, docs, academic, literature, speech]
38
+ sources: [jis-z8301-2019]
39
+
40
+ group: structure
41
+ summary:
42
+ ja: 図や表、条に番号を付けた文書で、「上記の図」「下の表」「以下の箇条」のように置き場所で指している所
43
+ en: '"The figure above", "the table below" or "the clause below" in a document that numbers its figures, tables or clauses'
44
+ example:
45
+ ja:
46
+ before: |
47
+ 売上は上記の図のとおり伸びた。
48
+
49
+ 図1 売上の推移
50
+ after: |
51
+ 売上は図1のとおり伸びた。
52
+
53
+ 図1 売上の推移
54
+ en:
55
+ before: |
56
+ Sales rose, as the figure below shows.
57
+
58
+ Figure 1: Sales by month
59
+ after: |
60
+ Sales rose, as Figure 1 shows.
61
+
62
+ Figure 1: Sales by month
63
+
64
+ not_flagged:
65
+ ja: 番号を一つも付けていない種類(番号で指しようがない)、番号を添えた言い方(上の図1)、長い語の一部(向上の図、上の図表)、コードの中は見ません。
66
+ en: 'A kind the document never numbers is not checked: there is no number to use. Nor are "Figure 2 below" (it has the number), a phrase inside a longer word, and code.'