Windows Scriv 3 Typography: Quotation after an em-dash becomes an open quote

I noticed this when typeing dialog in an ordinary manuscript. While the double dash properly turns into an em-dash, when I’m closing a dialog, scrivener places an open-quote rather than a proper close-quote.

So dialog like
“But–”
goes open-quote followed by But em-dash and then ends with another open-quote rather than the correct close -uote to be expected from smart quotes.

Anyone else notice this?

1 Like

Yep.
Post from last week…
Not sure it’s been noticed so shall report it.

Thanks! Glad to know its consistent. :slight_smile: I’ve been solving it by typing a space and an ‘x’ after the dash followed by the close quote and then delete the space and then ‘x’ to force the correct glyph.

That is basically what I do, too.

I use a TextExpander snippet to get:

— ” (space + em-dash + non-breaking space + closing curly quote)

That’s for a 2 keystroke shortcut:

; followed by -

(I use spaces around em-dashes, AP style.)

TextExpander saves me tons of grief over em-dash, ellipsis, curly quotes, spelling, diacritical marks, and a lot more.

hmm. I stopped looking when noting the can’t-stop-cookies-funny-business-hard-sell-ads-first presentation of TextExpander’s website, and that they want a large fraction of Scrivener’s price…per year subscription.

There are a lot of alternatives apparent, and AutoHotKey which has been mentioned here a lot seems very popular: TextExpander Alternatives and Similar Apps | AlternativeTo

I used to use TextExpander quite a bit. I like their ability to keep shortcuts synched across my devices.

Any indication whether a true fix is in the works for this? I was working on a document in Scriv1 today that I never exported and noticed–to my surprise, now that I’m used to Scriv3–that the closing quotation mark turned the correct way (when since making the switch, I’ve told myself I must have just started using the construction more and that’s why it was suddenly so much more annoying). I can’t find any difference in the settings between the two apps, making it pretty clearly a coding issue in Scriv3. Adding an extra character before the " has been my workaround, but I literally NEVER remember I have to do that until I’m glaring at the stupid wrong-way-round marks, so using a text expander to get the right marks the first time isn’t likely to be any more effective. LOL

We keep having this come up in the L&L forums - closing quote after an em dash doesn’t display, it comes up as an opening quote. This is due to a buglet(?) in the QT editor that has been in existence since the start of the Scrivener 3 beta process and has yet to be fixed. The buglet(?) was reported during the beta process and should be on file, but…

Using smart quotes:
“Help—“
Using a single dash:
“Help-“
Using a triple dash:
“Help—“
With a space:
“Help— “
With spaces:
“Help — “
Corrected (adding the em dash after closing the quotes):
“Help — ”
Using ellipses:
“Help…”

Using straight quotes:
“Help—”

Maybe switching off the “Use Smart Quotes” option and letting the compile do the correction is the best bet.

2 Likes

No idea if a fix is in the works but L&L suggested using the substitution feature as a workaround so you don’t have to remember to correct it.

Copy & pasted from their email:

  1. Go to File > Options > Corrections > Corrections

  2. Click the ‘+’ to add a new substitution

  3. Click the ‘…’ button to open the Character Map

  4. Copy and paste the correct characters into the ‘Replace’ and ‘With’ fields from the character map. N.B. make sure you choose the correct characters for the em-dash and quotes, as there are loads of similar characters. I’ve circled them in the screenshot of the character map. Obviously, choose single or double quotes depending on your preference.

  5. Click ‘OK’ all the way through and restart Scrivener.

3 Likes

Came here to report this same bug. Was hoping it would be fixed in the scrivener 3.1 update, but no luck. It’s a fairly common combination so I would think more people would be bothered by this.

2 Likes

It was a bug that was noted during the beta period, but I believe that it’s both a) relatively down the priority list (because there are workarounds) and b) buried fairly deep into the Qt text subsystem so would be hard to override programmatically and relies on getting the upstream Qt developers to fix in a later release of Qt which then has to be rolled back into Scrivener.

It’s still open, it just might be a while.

1 Like

This is AWESOME–thank you!

I don’t think this is a Qt bug. QTextEdit doesn’t have this kind of autocorrection feature built in. They probably override the QTextEdit’s keyPressEvent to insert the smart quote. All they need to do is add a check to the punctuation checks they already have, using QTextDocument.characterAt() to see if the previous character is any kind of dash.

That said, I know Scrivener uses a heavily customized textedit, so maybe it’s not so easy for them. There’s also the problem of text like “Dialog”—some interruption—“more dialog.” Though I think “Interrupted dialog—” is way more common.

Agree with Shaun that the mid-quotation interruption instance is an issue for the substitution fix.
Also, I just tried the substitution fix posted above and it doesn’t seem to be working for me now, I tried various instances of
—“
or
–“
And similar character combinations, copying both from my Scrivener text as well as non-rich plaintext editors and couldn’t get it functioning well for me. So still hoping for a software-level fix.

I had to install on a new laptop and it’s not working for me any longer, either. >.< Highly annoyed.

Many thanks for this, ardenhag.