User:Omegatron/Dash syntax

There have been several proposals for wikicode conventions that allow rendering "real" dashes &mdash; like this. Currently, an editor either needs to enter the dash as an HTML entity:, or has to enter the Unicode character   directly by finding it in the character insert box below the edit window. Both are slow and tedious, and despite the introduction of UTF-8, lots of people are still typing single hyphens - or double hyphens -- to represent dashes. Other types of dashes are even worse; very few people go through the trouble of entering a minus sign, for instance.

This is my proposal for a syntax to cover all the major situations where dashes are desired. If you see a conflict or problem with it, please add to the talk page. The idea behind this proposal is to put a little context parsing into the software, so a dash between two numbers is rendered as an en, but between two characters is left as a hyphen. (Remember, you can always use  tags to escape behavior like this or force something else, but, like the other codes used on the site, a good syntax will work as desired in most cases, saving time and effort.)

Hyphen -

 * text-text

En dash –

 * 1912-1934
 * text _ - _ text

Spaced en dash –

 * text __ - __ text

Em dash —

 * text--text

Spaced em dash —

 * text _ -- _ text

Minus sign −

 * _ -123
 * 123- _
 * 123 _ - _ 123

Not covered

 * Minus signs between text variables: a + b − c
 * Full dates, linked dates
 * Minus signs inside superscripts for chemical symbols: SO42−

Examples

 * Compound words are sometimes combined into one, but sometimes hyphenated: foo-bar.
 * From 1923–1945, Mr. Foo frequently patronized bars.
 * Foos are timid creatures—one was found hiding underneath a bar for several years — and should not be approached carelessly.
 * Foo's theorem derives a result of −3 from the equation 2 + 5 − 10, barring arithmetic mistakes
 * Foos are timid creatures—one was found hiding underneath a bar for several years — and should not be approached carelessly.
 * Foo's theorem derives a result of −3 from the equation 2 + 5 − 10, barring arithmetic mistakes
 * Foo's theorem derives a result of −3 from the equation 2 + 5 − 10, barring arithmetic mistakes
 * Foo's theorem derives a result of −3 from the equation 2 + 5 − 10, barring arithmetic mistakes

Other conventions
(See this talk page for lots of discussion and variants. The following is a summary of the major proposals.)

TEX and SmartyPants convention

 * hyphen = “ ” (one hyphen: “ ”)
 * en dash = “ ” (two hyphens: “ ”)
 * em dash = “ ” (three hyphens: “ ”)
 * spaced en dash = “ ” (two hyphens surrounded by spaces: “ ”)
 * spaced em dash = “ ” (three hyphens surrounded by spaces: “ ”)

Textile convention

 * hyphen = “ ” (one hyphen with no spaces: “ ”)
 * en dash = “ ” (one hyphen surrounded by spaces: “ ”)
 * em dash = “ ” (two hyphens: “ ”)
 * spaced en dash = ??? (can this be typeset at all using the Textile notation?)
 * spaced em dash = “ ” (two hyphens surrounded by spaces: “ ”)

Nathan Hamblen's backwards convention

 * hyphen = “ ” (one hyphen with no spaces: “ ”)
 * en dash = “ ” (three hyphens: “ ”)
 * em dash = “ ” (two hyphens: “ ”)
 * spaced en dash = “ ”? (three hyphens surrounded by spaces: “ ”)
 * spaced em dash = “ ”? (two hyphens surrounded by spaces: “ ”)