問題:
在使用 macOS 上的 AUCTeX 編輯 LaTeX 文檔時,有時會遇到無法正確顯示中文的問題。當我們輸入中文字符時,它們可能會變成一堆亂碼或無法正常顯示。這給我們的編輯工作帶來了很大的不便。
結論:
要解決這個問題,我們可以通過以下幾個步驟來配置 AUCTeX,以便正確顯示中文字符:
第一步:安裝必要的支持庫
$ brew cask install mactex-no-gui $ brew install fontconfig
安裝完成后,我們需要添加一個新的路徑到系統字體搜索路徑中,以確保中文字體得到正確加載。
$ sudo vi /usr/local/etc/fonts/fonts.conf
在該文件中,我們需要添加以下內容:
/usr/local/texlive/2020/texmf-dist/fonts/opentype/public /usr/local/texlive/2020/texmf-dist/fonts/truetype/public /usr/local/texlive/2020/texmf-dist/fonts/type1/public /usr/local/texlive/2020/texmf-dist/fonts/misc
第二步:配置 AUCTeX
在 Emacs 中打開你的 LaTeX 文件,進入 AUCTeX 模式(通常按C-c C-n
)。然后按下M-x customize-variable RET TeX-engine RET
,選擇xetex
作為引擎。
(setq TeX-engine 'xetex)
接下來,我們需要設置字體以正確顯示中文字符。通過編輯.emacs
配置文件,添加以下內容:
;; 使用中文 (set-language-environment "Chinese-GBK") (setq TeX-engine 'xetex) ;; 默認字體設置為等寬字體 (custom-set-faces '(default ((t (:family "Menlo"))))) ;; 中文字體設置 (if (string= (getenv "LANG") "zh_CN.UTF-8") (progn (set-fontset-font "fontset-default" 'gb18030 '("Microsoft YaHei" . "unicode-bmp")) (set-fontset-font "fontset-default" 'chinese-gbk '("Microsoft YaHei" . "unicode-bmp")) (set-fontset-font "fontset-default" 'cjk-misc '("Microsoft YaHei" . "unicode-bmp"))))
第三步:使用正確的編碼方式保存文件
在 Emacs 中,按下C-x C-m f
來選擇正確的編碼方式(通常使用 UTF-8)保存 LaTeX 文檔。
通過以上步驟,我們就能夠正確顯示并編輯中文 LaTeX 文檔了。例如,當我們輸入\documentclass{article}
這行代碼時,中文字符"文"和"類"會正確顯示,而不是亂碼。
這樣,我們就能夠更加方便地使用 AUCTeX 編輯中文 LaTeX 文檔,提高我們的工作效率。