Beautify Org mode
To make my Org mode visually appealing, I’ve done the following steps.
-
Customize faces for different Org headings and emphasis. For example,
(custom-set-faces '(org-agenda-structure ((t (:foreground "deep sky blue")))) '(org-block ((t (:inherit shadow :extend t :background "beige" :foreground "dark slate gray")))) '(org-code ((t (:background "light cyan" :foreground "dark cyan")))) '(org-date ((t (:background "thistle1" :foreground "Purple" :underline t)))) '(org-drawer ((t (:foreground "deep sky blue")))) '(org-footnote ((t (:foreground "medium sea green" :underline t :height 0.9)))) '(org-level-1 ((t (:inherit outline-1 :extend nil :height 1.3)))) '(org-level-2 ((t (:inherit outline-2 :extend nil :height 1.2)))) '(org-level-3 ((t (:inherit outline-3 :extend nil :height 1.1)))) '(org-level-4 ((t (:inherit outline-4 :extend nil)))) '(org-meta-line ((t (:inherit font-lock-comment-face :height 0.8)))) '(org-quote ((t (:inherit org-block :background "beige" :foreground "dark green" :height 1.4 :family "EB Garamond")))) '(org-ref-cite-face ((t (:inherit org-link :background "DarkSeaGreen1" :foreground "forest green" :box (:line-width 2 :color "grey75" :style released-button))))) '(org-scheduled-previously ((t (:foreground "dark violet")))) '(org-tag ((t (:background "khaki" :foreground "dark green" :weight bold :family "EB Garamond")))) '(org-todo ((t (:background "#fdf6e3" :foreground "#dc322f" :inverse-video nil :underline nil :slant normal :weight bold)))) '(org-verbatim ((t (:inherit (shadow org-code)))))) -
Use my favorite KaiTi for Chinese and EB Garamond for English in Org quote and verse blocks.
;; Create a new fontset for org block and verse. (create-fontset-from-fontset-spec (font-xlfd-name (font-spec :family "courier" :registry "fontset-org quote"))) (dolist (charset '(han cjk-misc chinese-gbk kana)) (set-fontset-font "fontset-org quote" charset (font-spec :family "KaiTi"))) (dolist (charset '(big5 big5-hkscs chinese-big5-1 chinese-big5-2)) (set-fontset-font "fontset-org quote" charset (font-spec :family "AR PL UKai TW"))) (set-fontset-font "fontset-org quote" 'ascii (font-spec :family "EB Garamond")) ;; Enable fontification of quote and verse blocks. (setq org-fontify-quote-and-verse-blocks (set-face-attribute 'org-quote nil :fontset "fontset-org quote") - Enable
org-indent-modeto add visual indentation to different levels of headings and contents. Also remember to setorg-adapt-indentationasnil. Otherwise, besides the visual indentation, actual indentation in the text is still there, and when there are many levels, the effective width of a paragraph will be very narrow. When the paragraph contains many LaTeX equations to be rendered (viatexfragfor example), they will be scattered into several lines, which is difficult to read. org-modern-modelooks great but is incompatible withorg-indent-modein that the visual indentation of a whole source code block will become zero, if two modes are enabled at the same time. Therefore, I do not useorg-modern-modeanymore.- Enable
org-visual-indent-modeto add vertical lines which connect headings on a same level.
The final effect of my Org mode is as below.
