Chinaunix

标题: CJK+Latex 安装指南For FreeBSD 6.2 [打印本页]

作者: maluyao    时间: 2007-03-07 23:01
标题: CJK+Latex 安装指南For FreeBSD 6.2
CJK+Latex 安装指南For FreeBSD 6.2
作者: 马路遥 maluyao#163.com

1.简介

最近尝试用FreeBSD 6.2 替换Fedora Core 5 作为自己的首选桌面操作系统,由于笔者经常需要用Latex + Beamer 制作幻灯片,所以必须安装相应的Latex 软件,但这次遇到了些中文问题。Latex + Beamer + pdflatex 无法生成正确的pdf文件。
通过google查找到了一些办法,在台湾李果正先生的帮助下。成功的找到了解决方法。特写成文档,共各位Bsder参考。   

2.相关软件的版本

操作系统为FreeBSD 6.2 ,没有升级任何东西。相关软件全部采用Package 安装,特别是zh-CJK包,如果采用ports 安装会有错误,原因不明。如果您更新过ports,则zh-CJK的版本为4.7 ,似乎有些问题。
amspsfnt-1.0_4
cm-super-0.3.3
cmpsfont-1.0_5
dvipdfmx-20050831_2
dvipsk-tetex-5.95a_1
freetype-tools-1.3.1_3
t1lib-5.1.0_1,1
teTeX-3.0_1
teTeX-base-3.0_10
teTeX-texmf-3.0_5
tex-texmflocal-1.9
xdvik-tetex-22.84.10
zh-CJK-4.6.0_2

本指南还需使用到下列3个文件,请链接下载。
UGBK.sfd 稍后使用
cmap.zip 稍后使用
gbkfontsfortetex3.0-freebsd.tar.bz2 解压后拷贝其中的gbkfonts 至/usr/bin/

3.步骤


  1. cd /usr/local/share/texmf
复制代码

本人的ttf字体文件在/usr/X11R6/lib/X11/fonts/chinese/ ,如果读者的字体文件在其他位置,请改动脚本的相应位置。手工编写下列脚本并在此处执行:

  1. #!/bin/bash
  2. FONTPATH=/usr/X11R6/lib/X11/fonts/chinese/
  3. gbkfonts $FONTPATH/simfang.ttf fang
  4. gbkfonts $FONTPATH/simhei.ttf  hei       
  5. gbkfonts $FONTPATH/simkai.ttf  kai
  6. gbkfonts $FONTPATH/simli.ttf   li
  7. gbkfonts $FONTPATH/simsun.ttf  song
  8. gbkfonts $FONTPATH/simyou.ttf  you
复制代码


接着替换一个UGBK.sfd的文件。

  1. cd /usr/local/share/texmf/fonts/sfd/
  2. cp  /some_place/UGBK.sfd ./
  3. cd ../cmap
  4. unzip  /some_place/cmap.zip
复制代码


以上部分基本都是照抄参考文献之2。

如果之做到这里,则latex 命令可生成正确的dvi文件,dvipdfm 命令亦可从dvi文件转换为正确的pdf文件,但pdflatex 命令生成.pdf 文件则有问题。后面才是本文的核心之处。

李果正先生给我的email中指出--"并把其他的*.enc/*.map(给pdflatex/dvipdfm用的)删除",然后在继续下面的步骤。但我并未去删除,由于已经达到了我的使用要求,就没有仔细研究为什么。


  1. cp /usr/local/share/texmf/fonts/map/dvips/cjk.map  \
  2. /usr/local/share/texmf-local/fonts/map/dvips/gbkall.map

  3. cd /usr/local/share/texmf-local/fonts/map/dvips/
  4. texhash
  5. updmap-sys --enable Map=gbkall.map
  6. texhash
复制代码


现在用dvipdf或pdflatex 命令已经可以生成正确的pdf文件了。但dvipdfm和dvipdfmx则失灵。原因不明。不过pdflatex命令生成的pdf文件质量较高。完全可以放弃dvipdfm和dvipdfmx命令。

顺便说一下要想从某一foo.tex生成代中文索引的pdf的命令如下:

  1. pdflatex foo.tex && gbk2uni foo.out && pdflatex foo.tex
复制代码


本文的形成,要特别感谢台湾李果正提供的无私帮助。

4.参考文献:


[ 本帖最后由 maluyao 于 2007-3-8 21:33 编辑 ]
作者: 雨丝风片    时间: 2007-03-08 08:00
顶一下!俺一直都是在windows下用CTEX组件的,啥时候也在BSD下玩玩~
不过要是在BSD下也能有统一打包的安装文件就好了。
作者: 995636    时间: 2007-03-08 16:01
十分感谢lz dx的文章。等会去试试看。

请问lz,那几个文件对fb6.1有效么?

小弟在fb6.1摆弄latex + cjk 一个上午了。那个cjk非要latex+tetex都装。而那两个都非要卸载对方才能安装。

在网上找到的一些方法,同时使用了latex的texmf的文件夹内容和tetex的命令……真是焦头烂额……
作者: 995636    时间: 2007-03-08 20:23
谢谢lz。

终于搞定了。

附加一句:中文tex文件不能用utf-8保存,否则中文是乱码。
作者: maluyao    时间: 2007-03-08 21:32
原帖由 995636 于 2007-3-8 20:23 发表


附加一句:中文tex文件不能用utf-8保存,否则中文是乱码。


没错,要保存成GB2312,据说zh-cjk-4.7已经能很好的支持utf8了,但还没试验过。
作者: 995636    时间: 2007-03-08 22:15
再次谢谢lz。

从昨天那个cjk就折磨死我了……

ports一旦出问题还真是没办法啊。

google出来的老方法已经不适用了。

至于保存格式,gb打头的都可以。小弟刚刚测试了。

[ 本帖最后由 995636 于 2007-3-8 22:19 编辑 ]
作者: tahaomei    时间: 2007-04-14 23:28
我的系统为 freebsd6.2,LC_CTYPE变量设置为zh_CN.GBK。

按照帖子作了,刚开始似乎一切很顺利,到最后,写了个cjk.tex测试文件测试一下,结果显示找不到楷体字体的错误,但是前面的安装过程中一直没错误提示啊。请大伙指点一下啥原因,谢谢了。

cjk.tex文件如下:

\documentclass{article}
\usepackage{CJK}
\begin{document}
\begin{CJK*}{GBK}{kai}
这是中文楷体字。
\end{CJK*}
\end{document}

编译tex的错误信息如下:

[pengx@fjs:/usr/home/pengx/doc]>pdflatex cjk.tex
This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4)
entering extended mode
(./cjk.tex
LaTeX2e <2003/12/01>
Babel <v3.8d> and hyphenation patterns for american, french, german, ngerman, b
ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch, esperanto, e
stonian, finnish, greek, icelandic, irish, italian, latin, magyar, norsk, polis
h, portuges, romanian, russian, serbian, slovak, slovene, spanish, swedish, tur
kish, ukrainian, nohyphenation, loaded.
(/usr/local/share/texmf-dist/tex/latex/base/article.cls
Document Class: article 2004/02/16 v1.4f Standard LaTeX document class
(/usr/local/share/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/share/texmf/tex/latex/CJK/CJK.sty
(/usr/local/share/texmf/tex/latex/CJK/mule/MULEenc.sty)
(/usr/local/share/texmf/tex/latex/CJK/CJK.enc)) (./cjk.aux)
(/usr/local/share/texmf/tex/latex/CJK/standard.bdg)
(/usr/local/share/texmf/tex/latex/CJK/extended.enc)
(/usr/local/share/texmf/tex/latex/CJK/extended.chr)
(/usr/local/share/texmf/tex/latex/CJK/GB/c19kai.fd) [1{/usr/local/share/texmf-v
ar/fonts/map/pdftex/updmap/pdftex.map}] (./cjk.aux) )</usr/local/share/texmf-di
st/fonts/type1/bluesky/cm/cmr10.pfb>kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 gbkkai25
mktexpk: don't know how to create bitmap font for gbkkai25.
kpathsea: Appending font creation commands to missfont.log.

Warning: pdflatex (file gbkkai25): Font gbkkai25 at 600 not found
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 gbkkai65
mktexpk: don't know how to create bitmap font for gbkkai65.

Warning: pdflatex (file gbkkai65): Font gbkkai65 at 600 not found
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 gbkkai57
mktexpk: don't know how to create bitmap font for gbkkai57.

Warning: pdflatex (file gbkkai57): Font gbkkai57 at 600 not found
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 gbkkai47
mktexpk: don't know how to create bitmap font for gbkkai47.

Warning: pdflatex (file gbkkai47): Font gbkkai47 at 600 not found
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 gbkkai58
mktexpk: don't know how to create bitmap font for gbkkai58.

Warning: pdflatex (file gbkkai5: Font gbkkai58 at 600 not found
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 gbkkai64
mktexpk: don't know how to create bitmap font for gbkkai64.

Warning: pdflatex (file gbkkai64): Font gbkkai64 at 600 not found
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 gbkkai55
mktexpk: don't know how to create bitmap font for gbkkai55.

Warning: pdflatex (file gbkkai55): Font gbkkai55 at 600 not found
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 gbkkai63
mktexpk: don't know how to create bitmap font for gbkkai63.

Warning: pdflatex (file gbkkai63): Font gbkkai63 at 600 not found
Output written on cjk.pdf (1 page, 6187 bytes).
Transcript written on cjk.log.
作者: tahaomei    时间: 2007-04-15 23:33
顶一下
作者: maluyao    时间: 2007-04-16 09:17
在我的bsd系统中,编译你的.tex文件没有任何问题。

不论是latex cjk.tex 还是pdflatex cjk.tex
都能生成正确的dvi或pdf文件。

我怀疑你是没装Kai体字。

我的语言环境是:
LANG=zh_CN.eucCN
作者: 995636    时间: 2007-04-16 13:28
刚刚试了一下,是有这个问题。当初只测试了宋体和黑体……-_-b,我晕……

宋体、黑体正常,仿宋和楷体不能识别。

产生的dvi文件是正常的。估计是

cp /usr/local/share/texmf/fonts/map/dvips/cjk.map  \
/usr/local/share/texmf-local/fonts/map/dvips/gbkall.map

cd /usr/local/share/texmf-local/fonts/map/dvips/
texhash
updmap-sys --enable Map=gbkall.map
texhash

这一步的问题。因为小弟的/usr/local/share目录下没有texmf-local文件夹。
只有:
texi2html
texmf
texmf-config
texmf-dist
texmf-var

无法产生相应的pdf文档。
作者: tahaomei    时间: 2007-04-16 16:59
原帖由 995636 于 2007-4-16 13:28 发表
刚刚试了一下,是有这个问题。当初只测试了宋体和黑体……-_-b,我晕……

宋体、黑体正常,仿宋和楷体不能识别。

产生的dvi文件是正常的。估计是

cp /usr/local/share/texmf/fonts/map/dvips/cjk.map  \ ...



兄弟,你的宋体正常???

我的怎么连宋体也不行啊
作者: maluyao    时间: 2007-04-16 17:00
宋体和黑体好像是cjk自带的。所以正常。
cjk 4.7 ,也许有些不同。
作者: tahaomei    时间: 2007-04-16 17:05
原帖由 maluyao 于 2007-4-16 17:00 发表
宋体和黑体好像是cjk自带的。所以正常。
cjk 4.7 ,也许有些不同。



宋体的正常是指采用pdflatex命令正常吗?还是只生成dvi步骤那步正常?
作者: 995636    时间: 2007-04-16 20:21
宋体、黑体用pdflatex或latex->dvipdf都正常,但楷体和仿宋不行。生成的dvi文件都是正常的。

所以我认为是那一步的问题。

我的没有那个教程中的文件夹,所以可能会有问题。
作者: tahaomei    时间: 2007-04-16 22:21
原帖由 995636 于 2007-4-16 20:21 发表
宋体、黑体用pdflatex或latex->dvipdf都正常,但楷体和仿宋不行。生成的dvi文件都是正常的。

所以我认为是那一步的问题。

我的没有那个教程中的文件夹,所以可能会有问题。



中间的那个文件夹是怎么生成的 ?
作者: 995636    时间: 2007-04-17 23:25
ports安装tetex以后就是那几个文件夹,我没有改过。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2