Как запретить PowerPoint или macOS преобразовывать двойные тире в длинные тире?

Есть ли способ запретить PowerPoint или macOS преобразовывать двойные тире («--») в длинные тире («—»)? Контекст: я использую текстовое поле на слайде в PowerPoint для Mac версии 16.78 на MacBook Pro под управлением macOS Sonoma 14.0. Иногда мне нужно написать пример шелл-кода с флагами (каждый из которых начинается с «--») в текстовых полях PowerPoint, и эта функция портит флаги.

Похожий вопрос был задан несколько лет назад в этой теме , но macOS изменилась, и средства, обсуждаемые в этой теме, похоже, не работают в этом контексте.

Средства, которые я безуспешно пробовал на сегодняшний день:

  • В PowerPoint отключены все функции автозамены.
  • В PowerPoint вместо «--» введен «--».
  • В PowerPoint вместо «—» введен «--».
  • В разделе «Системные настройки macOS» > «Клавиатура» > «Замена текста» установите параметр «Заменить «--» на «--»; попробовал "--" вместо "-"; тоже пробовал вообще без замен
  • В разделе «Системные настройки macOS» > «Клавиатура» > «Все источники ввода» (в настоящее время «США» английский) отключены «Автоматическое исправление правописания» и «Использовать смарт-кавычки и тире».
  • В PowerPoint и macOS пробовал указать «--» в качестве замены альтернативного текста (например, «++»), но замена не происходит.

Основной обходной путь, который я нашел на сегодняшний день, — это использование команды + Z для отмены каждой замены текста сразу после того, как она произошла. Кроме того, вы можете набросать текст в текстовом редакторе, а затем сразу вставить его на слайд, но должен быть лучший способ.

Обновление 1. Я узнал, что бегв Терминале предоставляет некоторую информацию о чтении и записи (сбросе) текущих настроек по умолчанию. ChatGPT-4 предоставил следующий код, чтобы определить, какие домены включают настройку, связанную с заменой тире:

      # 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

В моем случае это вернуло четыре настройки:

      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;
-------------------------

Общий формат их изменения следующий:

      defaults write [Domain] [Key] [Value]

Таким образом, вы можете изменить настройку следующим образом (установив для логического значения значение true («1») или false («0»), если необходимо). Конечно, вам следует принять к сведению первоначальные настройки, прежде чем что-либо менять.

      defaults write com.apple.iBooksX TSWPAutomaticDashSubstitution -bool false

Выполнение приведенного выше кода изменило целевой параметр, как и ожидалось, но не решило основную проблему некомандной замены длинного тире. Следующие команды работают индивидуально для поиска настроек в соответствующем домене с использованием определенных ключевых слов, но мне кажется, что поведение, которое я вижу, жестко запрограммировано в PowerPoint.

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

Я все еще ищу решение.

Об этой проблеме было сообщено в Microsoft через PowerPoint, используя раздел «Справка» > «Отзыв», который вы также можете сделать, если хотите поддержать обновление продукта.

0 ответов

Другие вопросы по тегам