| ## Smart punctuation |
| |
| Open quotes are matched with closed quotes. |
| The same method is used for matching openers and closers |
| as is used in emphasis parsing: |
| |
| . |
| "Hello," said the spider. |
| "'Shelob' is my name." |
| . |
| <p>“Hello,” said the spider. |
| “‘Shelob’ is my name.”</p> |
| . |
| |
| . |
| 'A', 'B', and 'C' are letters. |
| . |
| <p>‘A’, ‘B’, and ‘C’ are letters.</p> |
| . |
| |
| . |
| 'Oak,' 'elm,' and 'beech' are names of trees. |
| So is 'pine.' |
| . |
| <p>‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. |
| So is ‘pine.’</p> |
| . |
| |
| . |
| 'He said, "I want to go."' |
| . |
| <p>‘He said, “I want to go.”’</p> |
| . |
| |
| A single quote that isn't an open quote matched |
| with a close quote will be treated as an |
| apostrophe: |
| |
| . |
| Were you alive in the 70's? |
| . |
| <p>Were you alive in the 70’s?</p> |
| . |
| |
| . |
| Here is some quoted '`code`' and a "[quoted link](url)". |
| . |
| <p>Here is some quoted ‘<code>code</code>’ and a “<a href="url">quoted link</a>”.</p> |
| . |
| |
| Here the first `'` is treated as an apostrophe, not |
| an open quote, because the final single quote is matched |
| by the single quote before `jolly`: |
| |
| . |
| 'tis the season to be 'jolly' |
| . |
| <p>’tis the season to be ‘jolly’</p> |
| . |
| |
| Multiple apostrophes should not be marked as open/closing quotes. |
| |
| . |
| 'We'll use Jane's boat and John's truck,' Jenna said. |
| . |
| <p>‘We’ll use Jane’s boat and John’s truck,’ Jenna said.</p> |
| . |
| |
| An unmatched double quote will be interpreted as a |
| left double quote, to facilitate this style: |
| |
| . |
| "A paragraph with no closing quote. |
| |
| "Second paragraph by same speaker, in fiction." |
| . |
| <p>“A paragraph with no closing quote.</p> |
| <p>“Second paragraph by same speaker, in fiction.”</p> |
| . |
| |
| Quotes that are escaped come out as literal straight |
| quotes: |
| |
| . |
| \"This is not smart.\" |
| This isn\'t either. |
| 5\'8\" |
| . |
| <p>"This is not smart." |
| This isn't either. |
| 5'8"</p> |
| . |
| |
| Two hyphens form an en-dash, three an em-dash. |
| |
| . |
| Some dashes: em---em |
| en--en |
| em --- em |
| en -- en |
| 2--3 |
| . |
| <p>Some dashes: em—em |
| en–en |
| em — em |
| en – en |
| 2–3</p> |
| . |
| |
| A sequence of more than three hyphens is |
| parsed as a sequence of em and/or en dashes, |
| with no hyphens. If possible, a homogeneous |
| sequence of dashes is used (so, 10 hyphens |
| = 5 en dashes, and 9 hyphens = 3 em dashes). |
| When a heterogeneous sequence must be used, |
| the em dashes come first, followed by the en |
| dashes, and as few en dashes as possible are |
| used (so, 7 hyphens = 2 em dashes an 1 en |
| dash). |
| |
| . |
| one- |
| two-- |
| three--- |
| four---- |
| five----- |
| six------ |
| seven------- |
| eight-------- |
| nine--------- |
| thirteen-------------. |
| . |
| <p>one- |
| two– |
| three— |
| four–– |
| five—– |
| six—— |
| seven—–– |
| eight–––– |
| nine——— |
| thirteen———––.</p> |
| . |
| |
| Hyphens can be escaped: |
| |
| . |
| Escaped hyphens: \-- \-\-\-. |
| . |
| <p>Escaped hyphens: -- ---.</p> |
| . |
| |
| Three periods form an ellipsis: |
| |
| . |
| Ellipses...and...and.... |
| . |
| <p>Ellipses…and…and….</p> |
| . |
| |
| Periods can be escaped if ellipsis-formation |
| is not wanted: |
| |
| . |
| No ellipses\.\.\. |
| . |
| <p>No ellipses...</p> |
| . |