All rules

Ranges written with two marks

range-notation-consistencyon by default (info)Japanese / English

Ranges written with two marks in one document, such as "10–20" and "10-20"

Example

Flagged
Groups of 10–20 meet for 30–40 minutes, at 5–8 dollars each. Children aged 6-12 are welcome.
What chaff prints
1:76 The range "6-12" here, where the document usually writes ranges like "10–20" (1 of 4)
Fixed
Groups of 10–20 meet for 30–40 minutes, at 5–8 dollars each. Children aged 6–12 are welcome.
What chaff prints
no finding

How to fix

Match the mark the rest of the document uses. If the team has decided, write it in the style guide.

Why it matters

When one document writes ranges with two marks ("10–20" and "10-20", "10〜20" and "10-20"), the reader wonders whether the difference means something, a hyphen being also a minus sign or part of a number. It happens when texts are pasted together or typed by different people. chaff does not decide which mark is right; it points at the one the document uses less.

What it does not flag

Runs with more numbers around them (the date 2026-10-02, phone numbers, times such as 10:00–12:00, versions) and pairs whose end is smaller than the start (a score of 3-2, a postcode such as 100-0001), and Japanese document numbers written against a kanji word (直資4-5ほか) are not read as ranges. Words ("10 to 20") are not compared. When the less common mark is over a third of the ranges, or the two are equally common, the document is read as using both on purpose. Code is not read.

Turning it off or relaxing it

Silence this one spot (in the document)
<!-- stet: range-notation-consistency — reason -->
Relax it for the team (the reason is kept as a comment in chaff.yaml)
npx chaffjs relax range-notation-consistency --why "reason"
Turn it off for the team (chaff.yaml)
rules: range-notation-consistency: off
Technical details
Layer
L2
Status
stable
Severity
info
Languages
Japanese and English
Suited to
business, technical, blog, legal, docs, academic, literature, speech

Levels

Set a level for this rule under rules in chaff.yaml. With nothing set, it runs at the level its genre gives it (see By genre below).

strictreported when the less common mark is 49% of the ranges or less
normalreported when the less common mark is 34% of the ranges or less
relaxedreported when the less common mark is 20% of the ranges or less

By genre

Runs by default in
technical/spec, technical/readme, blog/tech, blog/essay, blog/owned-media, business/proposal, business/report, business/email, business/press-release, business/meeting-notes, legal/contract, legal/statute, legal/judgment, legal/patent, docs/manual, docs/faq, docs/glossary, academic/paper, literature/fiction, literature/essay, literature/poetry, literature/play, speech/address, speech/transcript

Genres

Message

The range "{written}" here, where the document usually writes ranges like "{usual}" ({count} of {of})

This page is built from the rule's definition file:packages/chaff/rules/range-notation-consistency.yaml