LYX是一款可见即所得的文档排版软件,LYX在ubuntu系统下的使用需要解决中文字体支持的问题。Texlive安装包为Ubuntu系统下的中文支持提供了完美的解决方案。经过两天的调试终于解决了lyx的中文文档编译问题。现在将安装的过程和其中遇到的问题中介如下,希望能对遇到同样问题的人有所帮助。
1、首先需要安装texlive安装包。最新的版本是texlive2015, 但是本人在安装texlive2015时遇到一些问题(不知道是安装包本身的问题还是安装过程的问题),后来尝试了texlive2014,
发现能够正常使用,因此本文在采用了2014版本。 下载的安装包文件名为 texlive2014-20140525.iso。
(a) 执行以下命令安装texlive。(安装前需要确认删除以前安装的版本,本人因为以前通过命令行安装过texlive,导致安装过程中出现问题)
sudo mkdir /media/cdimages sudo mount -o loop texlive2014-20140525.iso /media/cdimages cd /media/cdimages sudo ./install-tl
中间过程会出现提示输入,直接输入i进行安装,整个安装过程大改需要10分钟左右。安装路径默认在/usr/local/texlive路径下。
(b) 设置环境变量,本文采用了设置当前用户环境变量的方式。采用gedit编辑器对.bashrc文件进行修改。
sudo gedit ~/.bashrc
打开文件后在文件末尾添加
export PATH=/usr/local/texlive/2014/bin/x86_64-linux:$PATH export MANPATH=/usr/local/texlive/2014/texmf-dist/doc/man:$MANPATH export INFOPATH=/usr/local/texlive/2014/texmf-dist/doc/info:$INFOPATH
保存文档后,执行以下命令更新环境变量
source ~/.bashrc
更新环境变量之后,在命令行中输入
tex -version
可以看到如下版本信息
(c) 对安装的texlive进行测试。
先测试英文文档的编译,建立test-en.tex文档,文档内容如下
\documentclass{article} \begin{document} Hello \LaTeX! \end{document}
执行以下命令:
xelatex test-en.tex
可以得到test-en.pdf, 内容如下,则说明安装正常.
测试中文文档的编译,建立test-ch.tex, 文档内容如下
\documentclass[UTF8]{ctexart} \begin{document} 我爱中国! \end{document}
执行命令:
xelatex test-ch.tex
运行结束后,会出现如下编译错误
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! fontspec error: "font-not-found" ! ! The font "SimSun" cannot be found. ! ! See the fontspec documentation for further information. ! ! For immediate help type H <return>. !...............................................
这是因为Linux下缺少Window和Adobe字体造成的中的字体造成的,一般常用的中文Window字体有:黑体,楷体,宋体,仿宋,幼圆,隶书,而Adobe常用的有四种:黑体,楷体,仿宋,幼圆,隶书。下面介绍如何安装这两种环境的字体。
2.安装Windows 和 Adobe字体。Window字体可以从C://Windows//Fonts//路径下找到, Adobe字体可以从王晓航下载。将这些字体分别放到WinFonts 和 AdobeFonts文件夹下。
(a) 以安装Windows Fonts 为例,将WinFonts文件夹拷贝到/usr/share/fonts
sudo cp -rf WinFonts /usr/share/ sudo chmod 777 WinFonts cd WinFonts sudo chmod 777 ./* sudo mkfontscale sudo mkfontdir sudo fc-cache -fsv sudo fc-list :lang=zh-cn
输出如下:
从中可以看到WinFonts文件夹下的字体(以常用的四种为例),内容大致如下:
FangSong,仿宋:style=Regular,... KaiTi,楷体:style=Regular,... SimSun,宋体:style=Regular... SimHei,黑体:style=Regular...
下面修改texlive的配置文件:
sudo gedit /usr/local/texlive/2014/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def
打开文件,内容如下:
% ctex-xecjk-winfonts.def: Windows 的 xeCJK 字体设置,默认为六种中易字体 % vim:ft=tex \setCJKmainfont[BoldFont={SimHei},ItalicFont={[SIMKAI.TTF]}] {SimSun} \setCJKsansfont{SimHei} \setCJKmonofont{[SIMFANG.TTF]} \setCJKfamilyfont{zhsong}{SimSun} \setCJKfamilyfont{zhhei}{SimHei} \setCJKfamilyfont{zhkai}{[SIMKAI.TTF]} \setCJKfamilyfont{zhfs}{[SIMFANG.TTF]} % \setCJKfamilyfont{zhli}{LiSu} % \setCJKfamilyfont{zhyou}{YouYuan} \newcommand*{\songti}{\CJKfamily{zhsong}} % 宋体 \newcommand*{\heiti}{\CJKfamily{zhhei}} % 黑体 \newcommand*{\kaishu}{\CJKfamily{zhkai}} % 楷书 \newcommand*{\fangsong}{\CJKfamily{zhfs}} % 仿宋 % \newcommand*{\lishu}{\CJKfamily{zhli}} % 隶书 % \newcommand*{\youyuan}{\CJKfamily{zhyou}} % 幼圆 \endinput
将上述ctex-xecjk-winfonts.def中的字体(红色标记部分)名字改成输入字体的名称(注意将中括号一并替换掉
[SIMFANG.TFF] -> FangSong [SIMKAI.TFF] -> KaiTi
保存文件后,再次执行
xelatex test-ch.tex
可以输出正常结果
(b) Adobe字体的安装与Windows字体过程相同(需要修改/usr/local/texlive/2014/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-adobefonts.def 文件。(LYX的ctex.lyx模板使用了Adobe字体,如果部不安装Aode字体会出现字体错误)
(c) 一些稳当需要用到Windows下的英文字体如Arial, New Times Roman, 在实际过程中,发现采用上述(a)和(b)的安装过程无法解决问题,查阅一些资料只有,发现ununtu可以直接从软件应用中心中安装这些字体。
打开应用中心
输入以下关键词
ttf-mscorefonts
输出结果如下:
安装后可以解决Windows下的英文字体问题。
3. 同样从软件应用中心中安装LYX软件。
执行 “文件->从模板新建文件” 选择 ctex.lyx可以正常编译出中文文档。
4. 参考文献
Add Microsoft Core Fonts to Ubuntu.