Menggunakan font dengan lebar tetap dan lebar variabel dalam mode-org

9

Saya ingin memiliki file mode-org dengan konten berikut:

#+TITLE: My awesome Emacs file

* My Header
Here's some information under the header

#+BEGIN_SRC sh
echo "this is some code"
#+END_SRC

More text and =verbatim= things

Apakah mungkin untuk memiliki Emacs tampilan header dan teks dalam font variabel-lebar dan hanya #+BEGIN_SRC, #+END_SRC, =verbatim=dan kode sumber dalam font fixed-width?

Lee H
sumber

Jawaban:

5

Ini semua-tapi-dupe dari pertanyaan ini pada SO. Pada tulisan ini, jawaban yang diterima di sana adalah (mutatis mutandis):

(set-face-attribute 'org-verbatim nil :inherit 'fixed-pitch)

EDIT: Sebenarnya, baca pertanyaan Anda. Karena Anda ingin mengubah banyak wajah, ini adalah jawaban yang lebih lengkap:

(dolist (face '(org-block-begin-line 
                org-block-end-line 
                org-verbatim 
                org-block-background))
  (set-face-attribute face nil :inherit 'fixed-pitch)

Perhatikan bahwa ini akan menimpa :inheritparameter yang ada pada wajah. Jika itu masalah, jawaban lain untuk pertanyaan SO yang sama menyediakan kode untuk mengatasi masalah tersebut.

purple_arrows
sumber
1

Saya tidak begitu terbiasa dengan bagaimana org-modepembatasan blok, jadi saya hanya bisa memberikan jawaban umum.

Ada wajah standar yang disebut variable-pitch, yang dapat Anda terapkan ke wilayah tertentu seperti ini:

(set-text-properties (region-beginning) (region-end) '(face (variable-pitch))))

Ini hanya berfungsi ketika fontification otomatis dihambat. Anda mungkin dapat menghubungkan ke org-modekode fontifikasi dan menimpa wajah daerah yang dipilih dengan variable-pitch.

rekado
sumber