楼主: oliyiyi
7890 3

Linux系统下安装TeX Live及中文支持 [推广有奖]

版主

泰斗

0%

还不是VIP/贵宾

-

TA的文库  其他...

计量文库

威望
7
论坛币
271951 个
通用积分
31269.3519
学术水平
1435 点
热心指数
1554 点
信用等级
1345 点
经验
383775 点
帖子
9598
精华
66
在线时间
5468 小时
注册时间
2007-5-21
最后登录
2024-4-18

初级学术勋章 初级热心勋章 初级信用勋章 中级信用勋章 中级学术勋章 中级热心勋章 高级热心勋章 高级学术勋章 高级信用勋章 特级热心勋章 特级学术勋章 特级信用勋章

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
1.Ubuntu卸载旧的Texlive2009

Try the following commands, one after another. If you progress, respective folders may already be deleted:

sudo apt-get purge texlive*  rm -rf /usr/local/texlive/2009 and rm -rf ~/.texlive2009  rm -rf /usr/local/share/texmf  rm -rf /var/lib/texmf  rm -rf /etc/texmf  sudo apt-get remove tex-common --purge  rm -rf ~/.texlive
2.安装texlive 2013

这个安装比较简单,我用的是ubuntu12.04.4。 具体步骤是,mount一下你下载的iso文件。

sudo mkdir /media/texlivesudo mount texlive2013-20130530.iso  /media/texlive

然后进入到 /media/texlive目录下,执行:

./install-tl

提示输入的时候,输入I (大写的i,会看到提示的)
安装完成后,可以向/etc/profile文件的最后一行添加如下代码,注意,我的系统是64位的,你要看看你自己的系统是不是在这个目录下有latex命令。

export PATH=/usr/local/texlive/2013/bin/x86_64-linux:$PATH如果你想使用帮助的话,还可以向~/.bashrc中添加下面两行:
export MANPATH=/usr/local/texlive/2013/texmf-dist/doc/man:$MANPATH  export INFOPATH=/usr/local/texlive/2013/texmf-dist/doc/info:$INFOPATH到这里,我一般会重启一下。

测试一下上面的配置是否正确:

which latex

如果找到了latex,那就可以继续了,找不到的话,你需要重新看一下自己是不是没有配置好环境PATH

3.搞定中文字体(1)测试中文字体

先写一个简单的测试tex文件。起名为test.tex

\documentclass[UTF8]{ctexart}  \begin{document}  我爱中国!  \end{document}

然后执行如下命令编译:

xelatex test.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>.    !...............................................

下面就要解决这个问题。

(2)解决中文字体问题

错误里说了,"font-not-found"!所以问题在于Texlive找不到所示的SimSun字体。

配置Texlive,使其可以使用系统字体

参照官方文档的说法:

XeTEX和LuaTEX可以使用任何系统安装的字体,而不只是TEX目录树中的那些。它们使用类似但不完全一致的方式实现这一功能。
在Windows下TEXLive提供的字体会自动为XeTEX所用。但如果你在Unix兼容的系统中安装了xetex软件包,则需要把系统配置一番XeTEX才能找到随TEXLive安装的那些字体。
为了进行配置,xetex 安装后(不管是初始安装还是后来安装的)都会在TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf 创建一个必需的配置文件。
要在整个系统中使用TEXLive的字体(假定你有足够的权限),请依照下面的步骤来做:
1. 将texlive-fontconfig.conf 文件复制到 /etc/fonts/conf.d/09-texlive.conf。
2. 运行fc-cache -fsv。
如果你没有足够的权限执行上述操作,或者只需要把TEXLive字体提供给你自己,可以这么做:
1. 将texlive-fontconfig.conf文件复制到 ~/.fonts.conf,其中~是你的主目录。
2. 运行fc-cache -fv。
你可以运行fc-list来查看系统字体的名称。

由此可知,执行如下命令即可:

sudo cp /usr/local/texlive/2014/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.confsudo fc-cache -fv

现在texlive可以使用系统字体,但是SimSun字体在类UNIX中不存在,所以需要从Windows拷贝。

拷贝SimSun字体到系统中mkdir ~/.fonts  cp * ~/.fonts

也可以使用默认的系统文件夹,比如可以用

mkdir /usr/share/fonts/windowsfontscp * /usr/share/fonts/windowsfonts

然后执行如下命令,修改字体权限并再次更新字体缓存:

sudo chmod +x *sudo mkfontscale  sudo mkfontdir  sudo fc-cache -fsv

执行成功后,再做如下操作:

cd  /usr/local/texlive/2013/texmf-dist/tex/latex/ctex/fontset/  sudo vim ctex-xecjk-winfonts.def

文件定义了xeCJK字体设置,内容大致如下:

% 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

错误产生的原因在于上面定义的字体不存在或者找不到,所以根据已有字体名对字体名进行修改。
下面,打开新的终端,执行如下命令:

fc-list :lang=zh-cn

输出大约如下:

AR PL UMing TW:style=Light      AR PL UMing HK:style=Light      文泉驿等宽微米黑,文泉驛等寬微米黑,WenQuanYi Micro Hei Mono:style=Regular      仿宋,FangSong:style=Normal,obyčejné,Standard,Κανονικά,Regular,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta      標楷體,DFKai\-SB:style=Regular      AR PL UMing CN:style=Light      新宋体,NSimSun:style=常规,Regular      楷体,KaiTi:style=Normal,obyčejné,Standard,Κανονικά,Regular,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta      微软雅黑,Microsoft YaHei:style=Normal,obyčejné,Standard,Κανονικά,Regular,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta      Adobe 楷体 Std,Adobe Kaiti Std,Adobe Kaiti Std R,Adobe 楷体 Std R:style=R,Regular      Microsoft YaHei UI,Microsoft YaHei UI Light:style=Light,Regular

注意:输出中有SimSun字样才表示上述两步成功,否则可能复制相关字体不完全。
下面需要做的就是将ctex-xecjk-winfonts.def中的字体SIMFANG.TTF改为FangSong,SIMKAI.TTF改为KaiTi。

如果你用vim,可以在vim里执行如下命令:

:%s/\[SIMFANG.TTF\]/FangSong/g  :%s/\[SIMKAI.TTF\]/KaiTi/g(3)测试问题解决

重新执行一下,那个编译命令吧:

xelatex test.tex

现在应该没有问题了。

(4)调用其他字体

虽然上述方法解决了一些问题,但却还是不能使用微软雅黑之类的字体,下面是解决方案
测试文档是:

\documentclass{ctexart}  \setCJKfamilyfont{Microsoft YaHei}{微软雅黑}\newcommand{\yah}{\CJKfamily{Microsoft YaHei}}  \begin{document}  注意:UTF-8编码,用XeLaTeX编译,{\yah 这里示例为微软雅黑}。\\  效果还可以。  \end{document}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Linux live TeX Lin information Linux 中文

缺少币币的网友请访问有奖回帖集合
https://bbs.pinggu.org/thread-3990750-1-1.html
沙发
oliyiyi 发表于 2015-4-19 07:56:29 |只看作者 |坛友微信交流群
选自http://zhengmingpei.github.io/linux%E9%85%8D%E7%BD%AE/2014/07/07/install-tex/
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
bllhm + 5 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 5  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

藤椅
auirzxp 学生认证  发表于 2015-4-19 08:01:27 |只看作者 |坛友微信交流群

使用道具

板凳
bllhm 发表于 2016-11-16 08:58:04 |只看作者 |坛友微信交流群
好文要顶

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 01:06