Как запретить 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. Я узнал, что бег
# 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, используя раздел «Справка» > «Отзыв», который вы также можете сделать, если хотите поддержать обновление продукта.