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