Swap single-double quotes

Here is an idea.

Besides the option to convert to/from straight and smart quotes, it would be great if we could have the option to swap single quotes and double quotes.

I just noticed that I have been using the US style for quotes (double quotes with single quotes within) instead of the British style (single quotes with double quotes within) and it would take me ages to fix it.

Yes, I could do something like replace doubles with an unused character, then replace singles with doubles, then replace the character with singles. But as you can imagine, having such feature would be much smoother and less prone to errors.

This would indeed be a nice feature for those who write in English or any other language that deal with quotes this way.

But as long as this kind of swap function doesn’t exist I have some suggestions.

You already know the how-to, the triangular swap method. To reduce both the amount of work and the chance of errors, I would:

  1. convert smart to straight quotes
  2. replace straight double quotes with one or more unused characters
  3. replace straight single quotes with straight double quotes
  4. replace the character(s) from 2. with straight single quotes
  5. convert straight quotes to smart quotes

Whether you start by replacing the double or single quotes doesn’t matter, of course. The point is that by converting to straight quotes first, you would have to do the error-prone triangular swap only once. Also this way Convert to Smart Quotes would handle the distinction between single quotes and apostrophes.

Another option would be to a) use the English quotation mark style for all future projects and b) let Compile do the substitution for the existing projects. Compile’s replacement table is far less error-prone than a multi-step search and replace, because it gives you an overview of your steps and allows you to change their order. And if the result doesn’t meet your expectations, you can correct the replacement steps and recompile without damaging anything in your actual project.

Of course, this would only be a solution if you want to replace the quotes just for the benefit of the recipient and not for yourself sitting in front of your text.

1 Like

I have a somewhat different solution, though similar in spirit to @suavito’s second solution.

Although I write in English and my keyboard is US English, I have set up my Mac (Ventura 13.5.2) system settings as follows:

  • Settings : Keyboard : Text Input : Edit… :
    • Use smart quotes and dashes: OFF
    • For double quotes: «abc»
    • For single quotes: ‹abc›

So my MacOS doesn’t use smart quotes – fine for email, messages and such. But then, I set my Scrivener Settings up as follows:

  • Settings : Corrections : Punctuation :
    • Use smart quotes (“”) in new projects: TICKED
  • In the menus,
    • Edit: Substitutions: Smart Quotes: TICKED

Thus, while I’m typing in Scrivener, I get unambiguous smart quotes (guillemots), and my apostrophes come out as “smart” English apostrophes which can’t be confused with the single guillemots I’m using as single quotes. Yes, my drafts look weird on the screen but I’ve gotten used to it.

Finally, in File : Compile : Replacements I have the following eight global replacements set up:

  • Replace ‹ With ‘
  • Replace « With “
  • Replace › With ’
  • Replace » With ”
  • Replace ‹ With “
  • Replace « With ‘
  • Replace › With ”
  • Replace » With ’

I turn the top four on to compile for American publication (leaving the bottom four unticked) and reverse that to compile for British publication. Thus, Scrivener gets my smart quotes (guillemots) right in the draft (avoiding the opening single smart quote v. leading apostrophe ambiguity which drives me nuts) and right on compile as well. If for some reason I need to compile to straight quotes, I turn them ALL off, and turn on “Transformations: Convert ‘smart’ punctuation to ‘dumb’ punctuation” in the compile format.

Of course, if you need to have your drafts have real American or English quotes for some reason, or you can’t tolerate straight quotes in the rest of your apps on MacOS, the solution won’t work for you.


The problem with both solutions as far as I can tell, is that replacing single quotes does not discern from actual quotes V apostrophes.

The only case in which that’s a problem is the case of a leading apostrophe. The advantage of my guillemot system is that when a leading apostrophe is changed into a left single guillemot, it’s pretty darn obvious. It’s also easy to search for, as single quotes are comparatively rare (being nested inside double quotes in my typing.) I find that for me, it makes the problem manageable. Even better if I type the leading “curly” apostrophe directly (on the Mac, shift-option-closing square bracket, American keyboard.)