Formatting ellipsis/ellipses to match Chicago style with non breaking spaces

I’m trying to create a shortcut or hotkey or even an auto-correct setting in Scrivener (Windows) that will help me format non breaking spaces around the dots of an ellipsis (as per Chicago Manual of Style). I cannot find a way to do this other than physically using my mouse to go to the insert menu each time, and I have to do that three times just to type one ellipsis. (For clarity, the CMOS wants a non breaking space before each of the three dots in an ellipsis and another after the last dot of the ellipsis). So it essentially looks like this:
Last letter of a word - nonbreaking space - dot - non breaking space - dot - non breaking space - dot - non breaking space - first letter of next word.

Here’s what I’ve tried so far:

  1. Project search and replace - this will only replace with regular breaking spaces and doesn’t allow me to change to non breaking spaces. (I also tried this on the individual editor find and replace - for each text/document. Still doesn’t work)
  2. File > Options > Corrections > Enable Additional Substitutions - I added a new substitution to change three dots into the format I’m attempting with the non breaking spaces. Again, it only substitutes to regular spaces around the dots (even if I copy/paste into that “CHANGE TO” field with a non breaking space from the Scrivener editor.)
  3. Compile - can’t seem to find a place to make this happen in compile. Only allows a compile change to regular ellipses.
  4. Even using the alleged shortcut that’s visible in the Insert Menu (Control + Space) does not work to insert a non breaking space in Scrivener. It pulls up an application/program menu instead.

I’ve also tried to search the web for ways to insert a universal fix for this that would essentially make this an overall keyboard shortcut across all apps, but am not finding one that I understand (most everything involves coding and I don’t know where to begin with that).

Has anyone solved this?

An ellisis is one special character. Having spaces in between the dots is… sacrilege. Ditch CMOS.

4 Likes

Antoni we have enough political violence with the US elections, we don’t need gramatical violence as well.
Here is excerpt from CMOS and says spaced ellipsis, but look at their example.
The passage might be shortened as follows : The spirit of our American radicalism is destructive and aimless … On the other side, the conservative party … is timid, and merely defensive of property … It does not build, nor write, nor cherish the arts, nor foster religion, nor establish schools. Note that the first word after an ellipsis is capitalized if it begins a new grammatical sentence. Some types of works require that such changes to capitalization be bracketed; see 13.21. See also 13.58.

Press, University of Chicago. The Chicago Manual of Style: 17th Edition (p. 1127). UNKNOWN. Kindle Edition.

Okay, so even if I threw CMOS to the wind and decided not to follow their guidance here (which I realize is my prerogative as an author), I’d still need to use a non-breaking space before the ‘one character ellipsis’ so that I don’t have a situation where I start a line with the one character ellipsis. And again, I can’t get Scrivener to insert a non breaking space without using my mouse. There has got to be a way to create a shortcut for that, right?

I think the main problem here is that there is a keyboard shortcut, but the default for it is not very good. AltSpace is the universal shortcut for opening the window management menu in the top left corner.[1] Try going into File ▸ Options..., under Keyboard, and type “non” into the filter field at the top. Change the shortcut to something else, like CtrlSpace (which works, I’ve tested it, but you will need to remove the assignment from another command). But it’s up to you what shortcut you want to use here, so long as doesn’t conflict with a global Windows shortcut. Incidentally I also tried Shift, but that didn’t work right. It could be the shortcut system doesn’t “see” shortcuts that consist purely of the Shift key, which would make a kind of sense. You could try a combination though, like Ctrl+Shift, if you don’t want to overwrite the other command that Ctrl+Space would be using by default.

Otherwise, yes it’s a pity this still hasn’t been looked into, because this is exactly the kind of picky thing Scrivener is supposed to let writers avoiding spending time on while writing (which is different than throwing specs away!). You should be able to just type “…” into the editor and ignore whether it follows this spec or that, and let compiler Replacements, which are an automated form of search and replace, handle the menial labour of inserting non-breaking spaces in between them. But until the software is capable of storing non-breaking space characters into any fields at all (whether search and replace, or substitutions, etc.) there isn’t a good way of automating this.

I’ve also tried to search the web for ways to insert a universal fix for this that would essentially make this an overall keyboard shortcut across all apps…

That makes sense. The non-breaking space should be a universal thing ever since UTF-8 became normal, there is a dedicated character for it just like there is a dedicated ellipses character for cases where spaces aren’t used, but as noted above, most old formats (like RTF) come from an era before that and there was no standard way to mark this typesetting control at a technical level. Consequently it can be different in every other program that does support them, making a universal input less viable.


  1. I know you mentioned that Ctrl-Space is what you are using and that this pulls up the menu, I can only assume that’s a typo. I don’t think Ctrl-Space has ever pulled up that menu (though I could be wrong about that, I’m looking at Win10), and it’s definitely not the default in Scrivener, which uses that shortcut to strip out accidental multiple spaces. ↩︎

4 Likes

This also works as a Compile Transformation:
With the keyboard, type #… in the editor, in the Transformations pane in the Compile Format Editor, replace with . . . (nbsp.nbsp.nbsp.nbsp).
image
I inserted non-breaking spaces in the Transformation with CharMap:

HTH

3 Likes

OMG! I’ll try this! This could be the magic bullet!!! Thank you!

1 Like

THIS WORKED!!! Thank you so much!!!

1 Like

Okay. I tried it in Substitutions, and it holds true there too. You don’t see the character, just a blank Space in the Substitutions > With column, but if you turn on Show Invisibles it shows up as a non-break space in your Editor text where it’s applied and executes as it should when compiling. The take-home is you don’t have geeky text in your Editor—I for one, work with the invisibles not showing. It dispenses with a need to allocate a shortcut.
However, copy it directly from the Character Map, as you have, and paste into the With column of Substitutions . It won’t copy out of your Editor and paste into the With column of Substitutions.

image

2 Likes