【Emacs+LaTeX】如何優(yōu)雅地預(yù)覽數(shù)學(xué)公式 (prettify-symbols-mode)
Table of Contents
所見即所得
文本編輯中的兩個(gè)要素
文本本身
文本的格式
pdf 文件預(yù)覽: 正向與逆向搜索
【Emacs+LaTeX教程】Emacs最強(qiáng)內(nèi)置pdf閱讀功能pdf-tools簡(jiǎn)介缺點(diǎn)
需要大屏幕
如果編譯錯(cuò)誤就無法預(yù)覽
使用 preview-latex
【教程】LaTeX+Emacs從零開始2-6節(jié):所見即所得之Preview-latex缺點(diǎn)
需要手動(dòng)執(zhí)行編譯: 常用鍵 C-c C-p C-p
代碼的可讀性不強(qiáng)
使用 prettify-symbols-mode
優(yōu)點(diǎn)
不需要手動(dòng)觸發(fā)
沒有編譯過程, 不會(huì)報(bào)錯(cuò)
提高了代碼的可讀性
如何設(shè)置
版本要求
Emacs >= 25
AucTex >= 13.1.10 (可通過 M-x package-list-package 中查找 auctex 查看)
臨時(shí)打開
M-x prettify-symbols-mode
init.el 文件設(shè)置
字體設(shè)置
保證 Unicode 數(shù)學(xué)符號(hào)可以正確顯示
自動(dòng)展開
設(shè)置自動(dòng)展開光標(biāo)附近的宏命令.
tips: 如果只想刪除剛輸入的一個(gè)宏命令, 最快的方法是用 C-/ 撤消, 而不是一個(gè)個(gè)字符刪除.
如何加入自己的符號(hào)
將 ("<latex 宏命令>" . <unicode 編碼>) 加入列表中
latex 宏命令一般以 "\\" 開頭, 表示一個(gè)普通的 "\".
unicode 編碼以 "#x" 表示是16進(jìn)制數(shù)字, 否則就是10進(jìn)制
常用編碼表: https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode
(require 'tex-mode) (defun my/more-prettified-symbols () ?(mapc (lambda (pair) (cl-pushnew pair tex--prettify-symbols-alist)) ? ?'(("\Z" . 8484) ;; 大多數(shù)人在latex中會(huì)用 \Z, \Q, \N, \R 表示數(shù)域 ? ? ?("\Q" . 8474) ? ? ?("\N" . 8469) ? ? ?("\R" . 8477) ? ? ?("\eps" . 949) ? ? ?("\ONE" . #x1D7D9) ? ? ?("\mathbb{S}" . #x1D54A) ? ? ?("\PP" . #x2119) ;; 個(gè)人需要, 經(jīng)常要使用P和E的數(shù)學(xué)字體 ? ? ?("\P" . #x1D5AF ) ? ? ?("\Pp" . #x1D40F) ? ? ?("\E" . #x1D5A4) ? ? ?("\Ee" . #x1D404) ? ? ?("\EE" . #x1D53C ) ? ? ?("\Fc" . #x2131) ? ? ?("\Nc" . #x1D4A9)))) (my/more-prettified-symbols)
個(gè)人加入編碼的原則
原列表中沒有的編碼
像 \N , \Z 等大多數(shù)人使用的宏命令, 這樣可以減少與他人合作的障礙
進(jìn)一步簡(jiǎn)化自己的常用命令, 像上面的各種 E, P.