所见即所得的实现方式
pdf 文件预览: 正向与逆向搜索
使用 preview-latex
使用 prettify-symbols-mode
基本设置
临时打开
init.el 文件设置
字体设置
自动展开
加入自己的符号
LaTeX 相关设置汇总
本文最新版本:https://mickey991.github.io/elatex/easy-latex-writing-ap02-prettify
文本编辑中的两个要素
文本本身
文本的格式
【Emacs+LaTeX教程】Emacs最强内置pdf阅读功能pdf-tools简介缺点
需要大屏幕
如果编译错误就无法预览
【教程】LaTeX+Emacs从零开始2-6节:所见即所得之Preview-latex缺点
需要手动执行编译: 常用键 C-c C-p C-p
代码的可读性不强
优点
不需要手动触发
没有编译过程, 不会报错
提高了代码的可读性
版本要求
Emacs >= 25
AucTex >= 13.1.10 (可通过 M-x package-list-package 中查找 auctex 查看)
M-x prettify-symbols-mode
(defun my-latex-hook () (prettify-symbols-mode t)) (add-hook 'LaTeX-mode-hook 'my-latex-hook)
保证 Unicode 数学符号可以正确显示
(set-fontset-font "fontset-default" 'mathematical "Cambria Math")
设置自动展开光标附近的宏命令.
(setq prettify-symbols-unprettify-at-point t) tips: 如果只想删除刚输入的一个宏命令, 最快的方法是用 C-/ 撤消, 而不是一个个字符删除.
(require 'tex-mode) (defun my/more-prettified-symbols () (mapc (lambda (pair) (cl-pushnew pair tex--prettify-symbols-alist)) '((&quot;\\Z&quot; . 8484) ;; 大多数人在latex中会用 \Z, \Q, \N, \R 表示数域 (&quot;\\Q&quot; . 8474) (&quot;\\N&quot; . 8469) (&quot;\\R&quot; . 8477) (&quot;\\eps&quot; . 949) (&quot;\\ONE&quot; . #x1D7D9) (&quot;\\mathbb{S}&quot; . #x1D54A) (&quot;\\PP&quot; . #x2119) ;; 个人需要, 经常要使用P和E的数学字体 (&quot;\\P&quot; . #x1D5AF ) (&quot;\\Pp&quot; . #x1D40F) (&quot;\\E&quot; . #x1D5A4) (&quot;\\Ee&quot; . #x1D404) (&quot;\\EE&quot; . #x1D53C ) (&quot;\\Fc&quot; . #x2131) (&quot;\\Nc&quot; . #x1D4A9)))) (my/more-prettified-symbols) 将 ("<latex 宏命令>" . <unicode 编码>) 加入列表中
unicode 编码以 "#x" 表示是16进制数字, 否则就是10进制
常用编码表: https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode
个人加入编码的原则
原列表中没有的编码
像 \N , \Z 等大多数人使用的宏命令, 这样可以减少与他人合作的障碍
进一步简化自己的常用命令, 像上面的各种 E, P.
;; 以下为LaTeX mode相关设置 (setq-default TeX-master nil) ;; 编译时问询主文件名称 (setq TeX-parse-selt t) ;; 对新文件自动解析(usepackage, bibliograph, newtheorem等信息) ;; PDF正向搜索相关设置 (setq TeX-PDF-mode t) (setq TeX-source-correlate-mode t) (setq TeX-source-correlate-method 'synctex) (setq TeX-view-program-selection '((output-pdf &quot;PDF Tools&quot;))) ;; 用pdf-tools 打开 pdf (add-hook 'TeX-after-compilation-finished-functions #'TeX-revert-document-buffer) ;; 在完成编译后刷新 pdf 文件 ;; 打开TeX文件时应该加载的mode/执行的命令 (defun my-latex-hook () (turn-on-cdlatex) ;; 加载cdlatex (outline-minor-mode) ;; 加载outline mode (prettify-symbols-mode t) (turn-on-reftex) ;; 加载reftex (outline-hide-body)) ;; 打开文件时只显示章节标题 (add-hook 'LaTeX-mode-hook 'my-latex-hook) (setq prettify-symbols-unprettify-at-point t) (set-fontset-font &quot;fontset-default&quot; 'mathematical &quot;Cambria Math&quot;) (require 'tex-mode) (defun my/more-prettified-symbols () (mapc (lambda (pair) (cl-pushnew pair tex--prettify-symbols-alist)) '((&quot;\\Z&quot; . 8484) ;; 大多数人在latex中会用 \Z, \Q, \N, \R 表示数域 (&quot;\\Q&quot; . 8474) (&quot;\\N&quot; . 8469) (&quot;\\R&quot; . 8477) (&quot;\\eps&quot; . 949) (&quot;\\ONE&quot; . #x1D7D9) (&quot;\\mathbb{S}&quot; . #x1D54A) (&quot;\\PP&quot; . #x2119) ;; 个人需要, 经常要使用P和E的数学字体 (&quot;\\P&quot; . #x1D5AF ) (&quot;\\Pp&quot; . #x1D40F) (&quot;\\E&quot; . #x1D5A4) (&quot;\\Ee&quot; . #x1D404) (&quot;\\EE&quot; . #x1D53C ) (&quot;\\Fc&quot; . #x2131) (&quot;\\Nc&quot; . #x1D4A9)))) (my/more-prettified-symbols)