En-dash hyphen replace

A slightly anally-retentive request from a UK writer! UK publishers tend to prefer en-dashes rather than em-dashes. Would it be possible to add to the preferences in future an option to replace two typed hyphens with an en-dash (in addition to the existing replace with em-dash option). Would save lots of find and replace once I’ve exported!


I didn’t know UK publishers preferred the en-dash, but I think you can simply uncheck the ‘em-dash’ preference in Scrivener, then click the System Text Preferences button and add a new global substitution there: press the + button, then enter – on the left and and en-dash on the right. That seems to do what you’re asking for.

You could of course also add a substitution for — and em-dash so you get the best of both worlds…

You can also set up an automatic find/replace for when you compile the “Replacements” section of Compile (under “All Options”). Just put the double-hyphen or em-dash (Opt+Shift±) in the first column and the en-dash (Opt±) in the second. You can put this in the project replacements, so no matter what compile formatting you’re using for that project (e-book, standard manuscript, etc.) it will work there, or you can put it in the preset replacements and save a custom preset from the “Manage” option of the “Format As” pop-up menu, so that you can choose that preset in other projets and have the replacement already set up.

(I realize it looks like I’m replacing two hyphens with one in that picture, but it really is an en-dash.)

Thanks for the tips. I’ve tried setting up the Mac Text system prefs substitution and it works in Text Edit, but doesn’t seem to have any effect in Scrivener. There doesn’t appear to be an obvious way to ‘switch on’ this faciltiy and make the application recognise text replacements from my System Prefs? Am I missing something obvious?

I’m using Scrivener 1.54 - perhaps this functionality isn’t enabled until version 2? If so though it’s another reason why I should upgrade (if I know it works it will hurry me along)!

Thanks also for the Compile hint - I’m going to look at that in a bit.

Sorry, I can’t remember whether it worked in 1.54. Not sure why it shouldn’t, but Ive no way of checking…

System-wide substitutions weren’t enabled in 1.54 but are in 2.0.
All the best,

Oh, the replacements in compile are a 2.0 thing, too. Whoops. So you may want to fall back on making a backup of the project and then using the project replace to swap out double-hyphens (or em-dashes, whichever you use in the text) for en-dashes.

Thanks everyone. Looks like another good incentive I need to move to v2!