在windows在使用latex多有不便,跟emacs不能很好地集成,雖然有auctex這個插件,但使用的也不是很得心應手下,所以就嘗試在linux下使用latex。在linux下使用latex最初遇到的麻煩就是字體的問題。由於使用的是《LaTeX入門》的第一個示例,所以tex文件的第一句話便為\documentclass[UTF8]{ctexart}。在windows下可以運行正確,但在linux下運行錯誤,因為有的字體沒有,記得有simsun.ttf等字體都有缺,因為這些字體是windows平台的,所以沒有。后來參加別人的方法。將windows平台的字體c:\windows\fonts\目錄下的字體拷貝到opensuse下的/usr/share/fonts/truetype目錄下,並且給予讀權限。然后還需要使用fc-cache刷新一下。但是這畢竟是使用TeX作為排版引擎,現在的趨勢是使用xeTeX作為新的排版引擎,因為xeTeX支持原生的UNICODE,並且可以使用系統自帶的字體。在使用xelatex時,也還是需要解決字體的問題。將windows下的字體復制到opensuse下。然后使用fc-cache刷新一下。要查看linux下有什么樣的中文字體,使用fc-list命令,fc-list :lang=zh-cn顯示所有的中文字體。在使用xelatex編譯tex文件時,開頭是這樣的
\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{微軟雅黑}
這三條命令。第一條指定文檔類型,第二條指定使用的宏包xeCJK,第三條指定所使用的字體微軟雅黑。之前由於一直沒有加入后兩人條命令,導致編譯出的pdf一直缺少中文。現在好了。微軟雅黑可以換成別的字體名,這些字體名可以在fc-list命令中找到。
在linux一直是使用emacs編輯器的,所以這次使用了auctex插件。
配置文件如下
;;/*******************************AucTeX*************************************/ (load "auctex.el" nil t t) (load "preview-latex.el" nil t t) (if (string-equal system-type "windows-nt") (require 'tex-mik)) ;;/**************************************************************************/ (add-hook 'LaTeX-mode-hook (lambda ( ) (setq TeX-auto-untabify t) (setq TeX-engine 'xetex) (setq TeX-show-compilation t) (TeX-global-PDF-mode t) (setq TeX-save-query nil) (setq TeX-view-program-list '(("PDFReaderForWindows" "\"Foxit Reader.exe\" %o") ("PDFReaderForLinux" "evince %o") ("DVIReaderForLinux" "okular --unique %o"))) (cond ((eq system-type 'windows-nt) (setq TeX-view-program-selection '((output-pdf "PDFReaderForWindows") (output-dvi "Yap")))) ((eq system-type 'gnu/linux) (setq TeX-view-program-selection '((output-pdf "PDFReaderForLinux") (output-dvi "DVIReaderForLinux"))))) ) ) ;;/*******************************AucTeX*************************************/
在emacs編譯文檔只需要使用C-c C-c latex命令,查看只需要C-c C-c view命令
ps:
1 在linux下安裝texlive需要將texlive的可執行目錄加到PATH路徑下,還需要添加MANPATH, INFOPATH等目錄
MANPATH=$MANPATH:/usr/local/texlive/2013/texmf-dist/doc/man export MANPATH INFOPATH=$INFOPATH:/usr/local/texlive/2013/texmf-dist/doc/info export INFOPATH PATH=$PATH:/usr/local/texlive/2013/bin/x86_64-linux export PATH
2 將texlive中的字體添加到系統中
將/usr/local/texlive/2013/texmf-var/fonts/conf下的texlive-fontconfig.conf文件復制到/etc/fonts/conf.d/目錄下,並且文件名要是09開頭。然后使用
fc-cache -fsv刷新,就可以看到提示緩存了texlive中的字體。
3 字體的設置
初用linux下的texlive的xelatex引擎時,可能無法顯示中文。有兩種方式:
第一種在導言區使用fontspec宏包,
\usepackage{fontspec}
\setmainfont{微軟雅黑}
第二種在導言區使用xeCJK宏包,
\usepackage{xeCJK}
\setCJKmainfont{微軟雅黑}