4

Is there a way to stop PowerPoint or macOS from converting double-dashes ("--") to em dashes ("—")? Context: I am using a text box in a slide in PowerPoint for Mac v16.78 on a MacBook Pro running macOS Sonoma 14.0. Sometimes I need to write sample shell code with flags (each led by "--") in PowerPoint text boxes, and this feature ruins the flags.

A similar question was asked years ago in this thread, but the macOS has changed, and the remedies discussed in this thread don't seem to work in this context.

The remedies I have tried unsuccessfully to date:

  • In PowerPoint, disabled all AutoCorrect features
  • In PowerPoint, entered "--" as a replacement for "--"
  • In PowerPoint, entered "--" as a replacement for "—"
  • Under macOS System Settings > Keyboard > Text Replacements, set Replace "--" with "--"; tried "--" as a replacement for "—"; also tried no replacements at all
  • Under macOS System Settings > Keyboard > All Input Sources (currently "U.S." English), disabled "Correct spelling Automatically" and "Use smart quotes and dashes"
  • In PowerPoint and macOS, tried designating "--" as a replacement for alternate text (for example, "++"), but replacement doesn't happen

The main work-around I have found to date is using command+Z to undo each text substitution right after it happens. Also, you can draft the text in a text editor and then paste it into a slide all at once, but there must be a better way.

Update 1: I learned that running defaults --help in Terminal provides some information about reading and writing (resetting) current default settings. ChatGPT-4 contributed the following code to identify which domains include a setting related to dash substitution:

# Loop through each domain
for domain in $(defaults domains | tr ',' '\n'); do
    # Check if the domain contains settings related to dash substitution
    result=$(defaults read "$domain" 2>/dev/null | grep -i 'dashsubstitution')
    
    if [ ! -z "$result" ]; then
        echo "Domain: $domain"
        echo "$result"
        echo "-------------------------"
    fi
done

In my case, this returned four settings:

Domain: com.ampl.ide.rcp.product
    NSAutomaticDashSubstitutionEnabled = 0;
-------------------------
Domain: com.apple.iBooksX
    TSWPAutomaticDashSubstitution = 1;
-------------------------
Domain: com.apple.iChat.inputLine
        automaticDashSubstitutionEnabled = 0;
-------------------------
Domain: org.tempel.findanyfile
            NSAutomaticDashSubstitutionEnabled = 0;
-------------------------

The general format for changing these is as follows:

defaults write [Domain] [Key] [Value]

So you could change a setting like this (setting the boolean value to true ("1") or false ("0"), as needed). Of course, you should take note of the initial setting before changing anything.

defaults write com.apple.iBooksX TSWPAutomaticDashSubstitution -bool false

Running the code above changed the targeted setting as expected, but it did not solve the underlying issue of uncommanded em dash substitution. The following commands work individually for searching a relevant domain for settings using certain keywords, but it appears to me the behavior I am seeing has been hard-coded into PowerPoint.

defaults read com.microsoft.Powerpoint | grep -i 'dash'
defaults read com.microsoft.Powerpoint | egrep -iR 'dashsub'

I am still looking for a fix.

This problem has been reported to Microsoft through PowerPoint using Help > Feedback, which you could do as well if you would like to support a product update.

4
  • PowerPoint is likely to have its own 'ignore what macOS thinks, do it the MS way' pref somewhere. I don't use it so I can't check, but it's often the case.
    – Tetsujin
    Commented Oct 30, 2023 at 19:12
  • Thanks harrymc. That was the thread I linked to my question. It was helpful but did not solve the problem. That's for an older macOS. Thanks.
    – hackr
    Commented Oct 30, 2023 at 20:18
  • Sorry about that. Have you tried in PowerPoint to AutoCorrect emdash to --?
    – harrymc
    Commented Oct 30, 2023 at 20:35
  • harrymc: Yes, actually I did try that. I just tried again and it didn't work. It's as if macOS is ignoring the AutoCorrect preferences in PowerPoint. To Tetsujin's point, I'm not aware of a way to get PowerPoint to ignore what macOS thinks, or to effectively change what macOS is doing.
    – hackr
    Commented Oct 30, 2023 at 21:11

0

You must log in to answer this question.

Browse other questions tagged .