latex linux 中文字体,latex的安装与中文使用

一、序

满纸荒唐言,一把辛酸泪!都云作者痴,谁解其中味?

——曹雪芹

接触letex大概在大学时期,后来荒废了一段时间。

现终于有工作机会使用了,再详细翻翻,别是一番滋味在心头。

这里只详细说linux下latex套件的安装与中文支持方法,希望对大家多有裨益。

二、latex的简介“少年不识愁滋味,爱上层楼。爱上层楼,为赋新词强说愁。而今识尽愁滋味,欲说还休。欲说还休,却道天凉好个秋。”

——辛弃疾

L ATEX是一种面向数学和其它科技文档的电子排版系统。一般人们提到的L ATEX是一个总称,它包括TEX、L ATEX、AMS-L ATEX等。

L ATEX是一个软件系统,同时也是一套标准。遵照这些标准,实现了(implement)所要求功能的软件集合被称为发行版(distribution)。L ATEX发行版只提供了一个L ATEX后台处理机制,用户还需要一个前台编辑器来编辑它的源文件。常用的L ATEX发行版和编辑器见表1.1。

表1.1: L ATEX发行版与编辑器

操作系统

发行版

编辑器

备注

Windows

MikTeX

TeXnicCenter、WinEdt

Unix/Linux

TeXLive

Emacs、vim、Kile

Mac OS

MacTeX

TeXShop

三、texlive的安装

踏破铁鞋无觅处,得来全不费功夫!

——可以看到,texlive就是我们需要的发行版。

1.获取安装程序

首先请找来一张TEX Collection的DVD,或者下载TEX Live的网络安装程序,然后找到这个安装脚本:Unix下是install-tl,Windows下是install-tl.bat。

网络安装程序:在CTAN的systems/texlive/tlnet目录下可以下载,这个地址能自动将你导向一个附近的、保持更新的镜像。你可以下载同时支持Unix和Windows的install-tl.zip或者小得多、但只支持Unix的install-unx.tar.gz。解压后,install-tl和install-tl.bat就会出现在install-tl子目录中。

TEX Collection DVD:打开texlive这个子目录。在Windows下安装程序通常在插入DVD后就自动启动了。要获得DVD的话可以加入一个TEX用户组织(推荐这么做,参见)或是单独购买(通过),又或者是自己从ISO镜像刻录。

参见以了解更多关于获取这个软件的信息和方法。

2.启动安装程序

install-tl是一个Perl脚本。在Unix兼容的系统下启动它最简单的方法是这样的:

> cd /path/to/installer

> perl install-tl

(或者你可以直接运行perl /path/to/installer/install-tl,或者./install-tl,如果这个文件有可执行属性,我们不会把所有这些执行方法列出来。)你可能需要扩大终端窗口的大小才能在一屏内显示完整的文本安装程序界面。

要在专家GUI模式下安装,你需要加入了XFT支持的Perl/TK模块,GNU/Linux下通常都是这样,但其他系统下可能不是。这种情况下,你可以运行:

> perl install-tl -gui

要列出所有这些选项:

> perl install-tl -help

关于Unix下权限的警告:在安装过程中,TEX Live安装程序将会遵照你的umask行事。所以

如果你需要让你的安装能给其他用户使用,就必须保证你设置的权限足够,比如umask 002。更多关

于umask的信息请参见你自己系统的文档。

关于Cygwin的特殊考虑:和其他Unix兼容系统不同,Cygwin并没有包含所有运行TEX Live

安装程序所必须的程序,详见第3.1.4节。

四、texlive中文支持

世界上最远的距离就是我们俩一起出去买苹果,你去买苹果4代,我去买4袋苹果。

——来自福建省厦门市的匿名人士

texlive的中文支持不怎么好,需要特别的安装字体与配置之后才能使用,且听我慢慢道来。

1.安装TexLive+Latex+CJK:

打开终端,执行下述命令安装TexLive和常用的一些Latex宏包(可以根据自己的需要增改):

sudo apt-get install texlive texlive-math-extra texlive-latex-base texlive-latex-extra texlive-latex-recommended texlive-pictures texlive-science texlive-bibtex-extra texlive-common latex-beamer

如果硬盘充裕的话,直接完整安装也可以:

sudo apt-get install texlive-full latex-beamer

安装完后,就可以安装CJK的相关软件包了,如果只需要获得中文支持,那么执行:

sudo apt-get install latex-cjk-chinese ttf-arphic-* hbf-*

否则,建议安装latex-cjk-all以获取完整支持。

2.生成中文字体包

安装好TexLive+CJK以后,还需要安装一个软件──fontforge用于生成字体:

sudo apt-get install fontforge

好了,前面所做的,都是标准的Debian式安装,假如哪天你不需要了,直接remove安装即可。

生成字体前,请自己准备你需要生成的字体文件:simsun.ttc(宋体),simhei.ttf(黑体)等。

准备好后下载下面这个包,解压到一个地方,如自己的主目录~/font:

然后把simsun.ttc simhei.ttf也复制到~/font里去,执行下面的命令生成字体地图:

cd ~/font

time fontforge -script subfonts.pe simsun.ttc song Unicode.sfd

time fontforge -script subfonts.pe simhei.ttf hei Unicode.sfd

加time是为了计算时间,因为比较耗时,在我的电脑下,生成song花了40分钟,生成hei花了24分钟,仅供参考。

字体生成好了,再建立一个描述文件吧。

在~/font下,建立一个makemap文件,内容如下:

for i in *.tfm

do

cat >> song.map << EOF

${i%.tfm} ${i%.tfm} < ${i%.tfm}.pfb

EOF

done

++++++++++++++++我是华丽的分割线++++++++++++++++

在~/font下,建立一个makemap2文件,内容如下:

for i in *.tfm

do

cat >> hei.map << EOF

${i%.tfm} ${i%.tfm} < ${i%.tfm}.pfb

EOF

done

然后在终端下执行:chmod +x makemap让文件加上执行权限,最后执行:

sudo ./makemap

sudo ./makemap2

再建立一个c70song.fd文件:

% This is c70song.fd for CJK package.

% created by Edward G.J. Lee

% modify by Zhangxinjian

\ProvidesFile{c70song.fd}

\DeclareFontFamily{C70}{song}{\hyphenchar \font\m@ne}

\DeclareFontShape{C70}{song}{m}{n}{ CJK * song}{}

\DeclareFontShape{C70}{song}{bx}{n}{ CJKb * song}{\CJKbold}

\endinput

++++++++++++++++我是华丽的分割线++++++++++++++++

再建立一个c70hei.fd文件:

% This is c70hei.fd for CJK package.

% created by Edward G.J. Lee

% modify by Zhangxinjian

\ProvidesFile{c70hei.fd}

\DeclareFontFamily{C70}{hei}{\hyphenchar \font\m@ne}

\DeclareFontShape{C70}{hei}{m}{n}{ CJK * hei}{}

\DeclareFontShape{C70}{hei}{bx}{n}{ CJKb * hei}{\CJKbold}

\endinput

好的,相关文件都已生成,开始复制字体使其生效。

执行下面的命令,在你的主目录下生成隐藏的个人Tex配置,如果你哪天不需要了,也可以删除:

mkdir -p ~/.texmf-var/fonts/map/dvips/CJK

mkdir -p ~/.texmf-var/tex/latex/CJK/UTF8

mkdir -p ~/.texmf-var/fonts/tfm/CJK/song

mkdir -p ~/.texmf-var/fonts/type1/CJK/song

++++++++++++++++我是华丽的分割线++++++++++++++++

mkdir -p ~/.texmf-var/fonts/tfm/CJK/hei

mkdir -p ~/.texmf-var/fonts/type1/CJK/hei

建立完这层层叠叠的目录以后,就把刚刚生成的字体复制进去吧。

cp ~/font/song.map ~/.texmf-var/fonts/map/dvips/CJK

cp ~/font/*.tfm ~/.texmf-var/fonts/tfm/CJK/song

cp ~/font/*.pfb ~/.texmf-var/fonts/type1/CJK/song

cp ~/font/c70song.fd ~/.texmf-var/tex/latex/CJK/UTF8

++++++++++++++++我是华丽的分割线++++++++++++++++

cp ~/font/hei.map ~/.texmf-var/fonts/map/dvips/CJK

cp ~/font/*.tfm ~/.texmf-var/fonts/tfm/CJK/hei

cp ~/font/*.pfb ~/.texmf-var/fonts/type1/CJK/hei

cp ~/font/c70hei.fd ~/.texmf-var/tex/latex/CJK/UTF8

复制完后就执行命令刷新缓存,让它生效:

sudo texhash

updmap --enable Map song.map

++++++++++++++++我是华丽的分割线++++++++++++++++

sudo texhash

updmap --enable Map hei.map

假如一切顺序的话,就测试一下我们安装的song和hei体是否能用吧。

在任意位置编辑这个文件,然后保存为test_song.tex,支持UTF-8格式:

\documentclass{article}

\usepackage{CJKutf8}

\begin{document}

\begin{CJK}{UTF8}{song}你好!这里是Ubuntu下的TexLive+CJK环境!\end{CJK}

\end{document}

++++++++++++++++我是华丽的分割线++++++++++++++++

在任意位置编辑这个文件,然后保存为test_hei.tex,支持UTF-8格式:

\documentclass{article}

\usepackage{CJKutf8}

\begin{document}

\begin{CJK}{UTF8}{hei }你好!这里是Ubuntu下的TexLive+CJK环境!\end{CJK}

\end{document}

执行分别生成pdf文档和用evince来查看文档:

pdflatex test_song.tex

evince test_song.pdf

++++++++++++++++我是华丽的分割线++++++++++++++++

pdflatex test_hei.tex

evince test_hei.pdf

芯建

2011-02-11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值