Принудительно использовать шрифт фиксированной ширины в режиме org

10

Какой самый простой способ заставить Emacs org-mode везде использовать одно и то же семейство шрифтов и высоту фиксированной ширины (но с другими свойствами, такими как Foreground)?

Например, я мог бы сделать так, чтобы все org-level-nграни наследовались fixed-pitchили variable-pitchфактически ссылались на шрифт фиксированной ширины, но это было бы громоздко, я думаю.

Заранее спасибо.

rsenna
источник
1
Привет. Вы используете собственную тему или Emacs по умолчанию? Некоторые темы меняют определенные лица, например, заголовки Орг. Кроме того, вы изменили шрифт Emacs по умолчанию или изменили некоторые лица? По умолчанию Emacs устанавливает шрифт фиксированной ширины / моноширинный.
undostres
Привет @undostres, я использую Божидар Батсова Соляризованный для Emacs .
rsenna
3
Хм, как я и думал. Эта тема вносит больше «навязчивых» изменений, чем другие. Файл README в хранилище показывает некоторые переменные, которые вы можете изменить, чтобы избежать некоторых изменений, но если я правильно помню, шрифт переменной ширины не может быть изменен. Обходной путь: используйте другую реализацию Solarized, такую ​​как эта или эта . Но если вы не хотите переключать темы, вам нужно применить некоторые изменения лица над темой Бацова.
undostres
1
Конечно! NP. Я большой пользователь Org, и у меня была та же проблема с этой темой. В конце концов решил изменить его вместо попытки взлома (что, тем не менее, можно сделать).
undostres
1
Установите некоторые параметры в настройках, относящихся к теме, чтобы отключить изменение размера шрифта.
Иван Святенко

Ответы:

8

Некоторые темы меняют лица без веской причины.

Например, если вы используете Solarizedтему, добавьте код ниже перед загрузкой.

(setq solarized-use-variable-pitch nil
      solarized-scale-org-headlines nil)
rgtk
источник
3

Я бы использовал face-remap-add-relative; смотрите раздел Face Remapping в руководстве по Emacs Lisp.

Вот хук, который устанавливает свойство "family" defaultлица в буферах режима Org на "Monospace", фактически превращаясь defaultв fixed-pitch.

(add-hook 'org-mode-hook
          (lambda () (face-remap-add-relative 'default :family "Monospace")))
Константин
источник
Веселая. Для меня это имело противоположный эффект: все шрифты org теперь пропорциональны (как заголовки, так и элементы списка). До этого по крайней мере элементы списка отображались моноширинным шрифтом.
rsenna
Я face-remap-add-relativeтоже использую , и это работает для меня (у меня нет "Monospace", но вместо этого использую "Input Sans Mono"). Есть также несколько других лиц, с которыми вы, возможно, захотите поиграть, все с именем org- что-то .
amitp