xelatex的使用

在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{微软雅黑}

 

posted @ 2013-11-06 17:29  liuzhijiang123  阅读(7831)  评论(1编辑  收藏  举报