Paksa menggunakan font lebar-tetap dalam mode-org

10

Apa cara paling sederhana untuk memaksa Emacs org-mode untuk menggunakan Keluarga Font dan Tinggi dengan lebar tetap yang sama di mana-mana (tetapi menjaga properti lain tetap berbeda, seperti Foreground)?

Saya bisa membuat semua org-level-nwajah mewarisi dari fixed-pitch, atau membuat variable-pitchsebenarnya referensi font dengan lebar tetap, misalnya, tapi itu akan merepotkan, saya kira.

Terima kasih sebelumnya.

rsenna
sumber
1
Halo. Apakah Anda menggunakan tema khusus atau standar Emacs? Beberapa tema mengubah wajah tertentu, mis. Judul Org. Juga, sudahkah Anda mengubah font Emacs default atau men-tweak beberapa wajah? Secara default Emacs menetapkan font fixed-width / monospace.
undostres
Hai @undostres, saya menggunakan Bozhidar Batsov's Solarized for Emacs .
rsenna
3
Hmm, sama seperti yang saya pikirkan. Tema itu memperkenalkan lebih banyak perubahan "intrusif" daripada yang lain. File README dalam repositori menunjukkan beberapa variabel yang dapat Anda ubah untuk menghindari beberapa modifikasi, tetapi jika saya ingat dengan benar font-lebar variabel tidak dapat diubah. Solusi: gunakan implementasi Solarized lain seperti ini atau ini . Tetapi jika Anda tidak ingin berganti tema, Anda harus menerapkan beberapa perubahan wajah di atas tema Batsov.
undostres
1
Tentu! NP. Saya pengguna berat Org dan memiliki masalah yang sama dengan tema itu. Akhirnya memutuskan untuk mengubahnya daripada mencoba beberapa peretasan (yang dapat dilakukan, namun).
undostres
1
Atur beberapa pengaturan dalam pengaturan khusus Tema untuk menonaktifkan perubahan ukuran font.
Ivan Sviatenko

Jawaban:

8

Beberapa tema mengubah wajah tanpa alasan.

Misalnya, jika Anda menggunakan Solarizedkode tambahkan tema di bawah ini sebelum memuatnya.

(setq solarized-use-variable-pitch nil
      solarized-scale-org-headlines nil)
rgtk
sumber
3

Saya akan menggunakan face-remap-add-relative; lihat bagian Pemulihan Wajah dari manual Emacs Lisp.

Berikut adalah pengait yang menetapkan properti "keluarga" defaultwajah dalam mode Org buffer ke "Monospace", yang secara efektif berubah defaultmenjadi fixed-pitch.

(add-hook 'org-mode-hook
          (lambda () (face-remap-add-relative 'default :family "Monospace")))
Constantine
sumber
Lucu. Bagi saya, itu memiliki efek sebaliknya: semua font org sekarang proporsional (baik judul dan item daftar). Sebelum itu setidaknya item daftar ditampilkan dengan font monospace.
rsenna
Saya menggunakan face-remap-add-relativejuga, dan itu bekerja untuk saya (saya tidak punya "Monospace" tetapi gunakan "Input Sans Mono" sebagai gantinya). Ada juga beberapa wajah lain yang mungkin ingin Anda mainkan, semuanya bernama org- something .
amitp