Linux下TexLive与LyX中文支持配置手记

最近因为撰写一些学术性质的文章的需要,开始着手配置\(\LaTeX\)环境。基于\(\TeX\)的\(\LaTeX\)能排版出十分优雅的文章,特别是含有公式的文章。然而我在Linux下的配置过程并不像想象中的那样顺利。

PART-1 TexLive的安装

\(\LaTeX\)集成环境中最简单的要算是TexLive。你可以很方便地在CTAN源中下载到TexLive的ISO镜像(www.ctan.org/tex-archive/systems/texlive/Images),鉴于网络原因一般情况下不推荐使用网络安装方式。

当下载好TexLive的镜像之后,挂载它。对于常见的Linux发行版(如Fedora、Ubuntu),直接在文件管理器中双击镜像文件即可自动挂载。如果不支持双击挂载,可以执行

sudo mkdir /media/cdimage
sudo mount –o loop TexLive.iso /media/cdimage

进行手动挂载

之后cd进入镜像根目录,执行

sudo ./install-tl

或者

sudo perl ./install-tl

稍等片刻即可进入字符安装设置界面

texlive-1

这里需要一定的设置,输入o,回车,进入选项菜单

texlive-2

首先需要设置二进制文件链接,以便随时在命令行调用,输入l,回车。然后按默认设置即可,直接回车三次。可以看到

texlive-3

此时已经填上了路径。

如果不需要更新的话,输入y,回车,取消安装后的自动更新。这里推荐取消,否则联网会使安装过程变得比较慢。

最后输入r,回车,返回主菜单。最后输入i,回车开始安装。整个安装过程大致需要8-10分钟。

PART-2 LyX的安装和配置

如果不想使用LyX,请跳过这一PART。

LyX(http://www.lyx.org/)是一个WYSIWYM(What You See Is What You Mean)的\(\LaTeX\)编辑器,使用它不需要记忆一大堆\(\LaTeX\)的文档结构标记。可以像 Word一样可视化排版,同时又兼具\(\LaTeX\)的便捷与优雅。因此被Ubuntu软件中心描述为是一个“高级\(\LaTeX\)前端”。所以使用LyX可以让你的重心更加集中在内容本身而无需去担心是不是要加载某个宏包之类的问题。当然LyX也支持导出.tex文件可以供更高级的自定义与设置。所以这里选择LyX。

对于Fedora来说,在Fedora软件中心提供有独立的LyX可以直接安装。而对于Ubuntu来说,Ubuntu软件中心的LyX会附带TexLive的相关组件。由于我们已经安装好了TexLive,所以不需要这些包,但是我目前没有找到如何单独安装LyX而不安装其附带的TexLive的方法。

于是这里说一下LyX在Ubuntu下的编译。

LyX的源代码包可以从这里下载:http://www.lyx.org/Download

下载之后解压

tar –xvf lyx-2.1.3.tar.gz
cd lyx-2.1.3

接着还要安装一些编译依赖的库文件

sudo apt-get install libx11-dev xserver-xorg-dev zlib1g-dev libqt4-dev

然后

./configure
make
sudo make install

然后直接执行lyx即可启动LyX。首次启动需要检查各种TeX环境设置,接着就可以看到界面了。

对于Ubuntu来说,无论是官方软件源的LyX以及自行编译的LyX均存在Bug,表现为在普通用户下LyX位于整个系统TopBar的菜单项目为灰色,无法使用。这个问题的解决方案如下:

1、 临时解决方案

在命令行执行

QT_X11_NO_NATIVE_MENUBAR=1 lyx

启动LyX即可

2、 半永久解决方案

在~/.local/share/applications中创建一个lyx.desktop的文件,内容为

[Desktop Entry]
Version=2.1.3
Type=Application
Terminal=false
Exec=env QT_X11_NO_NATIVE_MENUBAR=1 lyx %F
Name=Lyx
Icon=/usr/share/app-install/icons/lyx.png
Categories=Utility;TextEditor;

保存即可从Dashboard启动修正的LyX

PART-3 LyX中文支持

\(\LaTeX\)原生不支持中文,但是可以通过CTeX宏包提供中文支持。另一个中文的解决方案是使用xe\(\LaTeX\)。但是TeX自带的CTeX宏包是为Windows系统设计的,如果直接使用其进行编译,就会出现这样的错误:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: “font-not-found”
!
! The font “[SIMKAI.TTF]” cannot be found.
!
! See the fontspec documentation for further information.
!
! For immediate help type H <return>.
!………………………………………..

可以看到是缺少Windows系统上的SIMKAI.TTF字体。

解决办法之一:复制Windows字体。

我们可以直接将这些字体直接从Windows系统中拷贝,但是这种方法在使用时有可能存在潜在的版权问题,请注意!

在这里提供这些字体的下载(WinFont)(提取自Windows 8.1)。

为所有用户安装字体:

sudo mkdir /usr/share/fonts/winfonts
sudo cp ./* /usr/share/fonts/winfonts

为当前用户安装:

cp ./* ~/.fonts/

如果目录不存在就创建

mkdir ~/.fonts/

最后执行

sudo mkfontscale
sudo mkfontdir
sudo fc-cache

执行

fc-list | grep sim

可以看到字体已经安装成功

接着修改CTeX宏包里面关于字体的定义,这个文件放在

/usr/local/texlive/2014/texmf-dist/tex/latex/ctex/fontset

执行

sudo vim ctex-xecjk-winfonts.def

将其中的[SIMKAI.TTF]全部替换为刚才列表里的名称KaiTi,[SIMFANG.TTF]全部替换为刚才列表里的名称FangSong

这里可以用vim的替换指令,键入并回车

:%s/\[SIMKAI.TTF\]/KaiTi/g
:%s/\[SIMFANG.TTF\]/FangSong/g

保存并退出。

解决方案之二:使用Adobe字体。

这里提供Adobe字体的打包下载(Adobefonts)。粗略看了下Adobe的协议许可,应该可以嵌入PDF文件进行展示和打印。

按解决方案一中的字体安装方法安装字体

然后在LyX的“文档”->“首选项”中“文档类选项”的自定义中填入 adobefonts

 

解决完字体问题,最后在编译文档的时候,文档类选择Chinese Article (CTeX) (根据需要选择含有CTeX的项目),“输出”选项中的默认输出格式选择“PDF (XeTeX)”,就可以正常输出中文PDF了。

发布者

《Linux下TexLive与LyX中文支持配置手记》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注