LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2415|回复: 8

dvipdfmx的安装配置

[复制链接]
发表于 2005-4-24 17:39:44 | 显示全部楼层 |阅读模式
今天得知dvipdfmx可以使latex 做出的pdf可以实现复制粘贴中文的功能,我就去网上找办法,结果找了一堆,我也改了一堆,反正现在是可以用了,请老手们评点:
1.首先,安装cmap-adobe-gb1,dvipdfm-cjk-cmap,dvipdfmx等软件包。
2.我将/usr/share/texmf/dvipdfm/config里的dvipdfmx.cfg, 注释掉除f cid-x.map以外所有含有f *.map行.
3.将
gbksong@UGBK@ UniGB-UCS2-H :0:!simsun.ttf
gbksongsl@UGBK@ UniGB-UCS2-H :0:!simsun.ttf
gbkhei@UGBK@ UniGB-UCS2-H :0:!simhei.ttf
gbkheisl@UGBK@ UniGB-UCS2-H :0:!simhei.ttf
gbkkai@UGBK@ UniGB-UCS2-H :0:!simkai.ttf
gbkkaisl@UGBK@ UniGB-UCS2-H :0:!simkai.ttf
gbkfs@UGBK@ UniGB-UCS2-H :0:!simfang.ttf
gbkfssl@UGBK@ UniGB-UCS2-H :0:!simfang.ttf
gbkli@UGBK@ UniGB-UCS2-H :0:!simli.ttf
gbklisl@UGBK@ UniGB-UCS2-H :0:!simli.ttf
添加在cid-x.map的后面。
4.将/usr/share/fonts/cmap/adobe-gb1下的所有文件都拷贝到/usr/share/texmf/dvipdfm/CMap/下。
5.root运行命令texhash
OK,这样就可以了,有问题大家多联系,反正我这儿基本上都可以用了。
 楼主| 发表于 2005-4-24 18:34:08 | 显示全部楼层
本文本是为debian下的latex写的,但各发行版基本情况都一样。都可以参看。
本是发表在debian版下,被版主移到这里来了。
回复 支持 反对

使用道具 举报

发表于 2005-10-23 17:27:19 | 显示全部楼层

还是不行

我照着你的方法做了,出现下列提示,请指教
dvipdfmx 18030qq.dvi
18030qq.dvi -> 18030qq.pdf
[1
** WARNING ** Could not locate a virual/physical font for TFM "gbksong53".
** WARNING ** This font is mapped to a physical font ":0:!simsun.ttf".
** WARNING ** Please check if kpathsea library can find this font.
** ERROR ** Cannot continue...

但将第三个步骤去掉:不在cid-x.map中加入
gbksong@UGBK@ UniGB-UCS2-H :0:!simsun.ttf
gbksongsl@UGBK@ UniGB-UCS2-H :0:!simsun.ttf
gbkhei@UGBK@ UniGB-UCS2-H :0:!simhei.ttf
#dvipdfmx 18030qq.dvi
18030qq.dvi -> 18030qq.pdf 可以生成
但pdf文档中向外粘贴还是乱码
?????搞了好长时间了,很痛苦,请指教
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-23 20:03:23 | 显示全部楼层
按你所安装的字体加入写第三步。
我的simsun,simli,simkai,simfang分别对应song,li,kai,fang,所以我这么写。
你可以试试:
gbksong@UGBK@ UniGB-UCS2-H :0:!simsun.ttc
gbksongsl@UGBK@ UniGB-UCS2-H :0:!simsun.ttc
回复 支持 反对

使用道具 举报

发表于 2005-11-6 23:55:28 | 显示全部楼层
我照着楼上的做了,可是还是出现下面的错误:如何处理?

  1. debian:~# dvipdfmx a.tex
  2. a.tex.dvi -> a.tex.pdf

  3. ** ERROR ** Could not open specified DVI file: a.tex.dvi

  4. Output file removed.
  5. debian:~# dvipdfmx a.dvi
  6. a.dvi -> a.pdf
  7. [1
  8. ** WARNING ** Could not locate a virual/physical font for TFM "gbksong51".
  9. ** WARNING ** This font is mapped to a physical font ":0:FZSongTi.ttf".
  10. ** WARNING ** Please check if kpathsea library can find this font.
  11. ** ERROR ** Cannot continue...
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-11-7 08:11:32 | 显示全部楼层
我把我前些时候安装latex+cjk的手记粘上吧,大家参考一下:)
    我原来只是想把我的tetex+cjk升升级,没想到这一升就是长长的好几天.因为在网上找了好多资料都是针对tetex低于3.0版本的.由于 tetex中配置文件的目录有所改变,所以再接照以前的方法是支持不了中文的.我把我这几天所总结出来的写出来,给自己留个底,如果能对别人有帮助,那就 更好了  
    我参考的文档是  在TETEX 3.0中使用CJK中文环境 和[url=http://www.hebl.name/zh/archives/category/soft/tex/page/2/] CJK安裝指南 (修订版0.1)[]/url,还要感谢 何勃亮 给于的帮助!  
    1.下载tetex3.0的源码,包括tetex-src-3.0.tar.gz和tetex-texmf-3.0.tar.gz(还有一个tetex- texmf-extras-gg-3.0.tar.bz2可选的) 我是将tetex安装在/usr/local/teTeX目录下的,所以  

mkdir -p /usr/local/teTeX/share/texmf  
cd /usr/local/teTeX/share/texmf  
tar xzvf /usr/local/src/tetex-texmf-3.0.tar.gz  
cd /usr/local/src  
tar xzvf tetex-src-3.0.tar.gz  
cd tetex-src-3.0 ./configure --prefix=/usr/loca/teTeX --disable-multiplatform  
make all  
make install  
安装完以后,所有的tex命令都在/usr/local/teTeX/bin中,要让系统找到这些命令,我是在/etc/profile中加入了这个路径  
pathmunge /usr/X11R6/bin
pathmunge /usr/local/teTeX/bin //加入这一行
unset pathmunge  
好了,只要退出x再进入,就可以测试tex了,简单试一下 texconfig conf 能看到输出就表明tex配置基本正确,你也可以拿一个tex英语文档来试一下.  

    2.现在开始装cjk了.开始我装的是cjk4.6,后来发现编绎我以前的论文时出了一些问题(具体到一些包的变化).所以后来又换成了4.5.2,大家 可以任选一个Smile 安装cjk很容易的.
cd /usr/local/src  
tar xzvf cjk-4.5.2.tar.gz  
cd cjk-4.5.2  
mv texinput /usr/local/teTeX/share/texmf/tex/latex/CJK  
这样就ok了  

    3.到了最关键一步了,安装gbkfonts .我装tetex好几天,问题都出在这.因为tetex3.0的配置文件目录有所变化.所以以前的gbkfonts安装后中文编绎也出错. 后来我用了何勃亮 的 gbkfontsfortetex3.0,终于成功了.我怀疑ml仓库里的tetex+cjk问题也应该出在这了(猜测而已) 直接复制gbkfonts到/usr/local/teTeX/bin里,省时间 然后把你所要的字体(我用了simsun.ttf,simfang.ttf,simli.ttf,simkai.ttf,simhei.ttf, simyou.ttf)都复制到/usr/local/teTeX/share/texmf/fonts/truetype/chinese目录里面.再 进入/usr/local/teTeX/texmf目录里  
cd /usr/local/teTeX/texmf  
gbkfonts fonts/truetype/chinese/simsun.ttf song  
gbkfonts fonts/truetype/chinese/simkai.ttf kai  
gbkfonts fonts/truetype/chinese/simfang.ttf fs  
gbkfonts fonts/truetype/chinese/simli.ttf li
gbkfonts fonts/truetype/chinese/simhei.ttf hei  
gbkfonts fonts/truetype/chinese/simyou.ttf you  
搞定了.gbkfonts应该把字体和相应的配置文件都放到对应的目录里了  
4.最后是安装dvipdfmx.  
tar xzvf /usr/local/src/dvipdfmx-20050823.tar.gz  
cd dvipdfmx-20050823 ./configure --prefix=/usr/local/teTeX  
make  
make install  
根据 何勃亮 所说: 编译中文时,可能还需要这几个文件:sfd文件和CMap文件。添加也很方便。在/usr/local/share/texmf/fonts下建立sfd 和cmap(小写)两个目录,分别复制这几个文件进去:sfd:UGBK.sfd;cmap: Adobe-GB1-UCS2、UniGB-UCS2-H、UniGB-UCS2-V、UniGB-UTF16-H和UniGB-UTF16-V"。 照做吧,到此大功告成,更新一下tetex系统的配置文件  
texhash  
好了,现在我们可以试一个中文的tex文档了
//test.tex

\documentclass[12pt]{article}  
\usepackage{CJK}  
\usepackage{graphics}  
\begin{document}  
\begin{CJK}{GBK}{song}  
\begin{enumerate}  
\item \textsl{这是斜体中文。}  
\item \textbf {这是粗体中文}  
\item \textbf{\textit{这是粗斜体中文} }  
\end{enumerate} 这是一个数学公式  
\end{CJK}  
\end{document}  

将上面文档存为test.tex 运行  
latex test.tex生成test.dvi  
运行 dvips test.dvi 生成test.ps  
运行 pspdf test.ps 生成test.pdf 或是直接运行dvipdf test.tex 生成test.pdf 注意这里生成的pdf不能从中提取出中文,要想生成可以从pdf中提取出中文的pdf,用命令 dvipdfmx test.tex 你可以拿更多的tex文档来试试,看看有什么问题没有 当然了,你可以再装一个kile来写tex文档. 另外,如果你还要tex2html功能.你就下载一个tex2html包装上就行了.

ps:我把它装在/usr/local/teTeX,以后要换系统,只要把这个目录给移过去,再改一下/etc/profile就行了.很方便呀  
    以上用到的所有文件都可以在我目录里找到
www.magiclinux.org/people/tingxx/
-------------------
今天下午看了一下kdvi的代码,终于把我的机子上kdvi看不了中文的问题解决了:)  
因为kdvi默认只找ps2pk.map,怎么把cjk.map也插入到ps2pk.map里面呢,修改 texmf/web2c/updmap.cfg ,在最后加入  
Map cjk.map  
  
然后updmap一下。就可以了
回复 支持 反对

使用道具 举报

发表于 2006-1-10 04:59:14 | 显示全部楼层
出现这样的错误
Error in length specification: UniGB-UCS2-H
请楼上大侠指教。
回复 支持 反对

使用道具 举报

发表于 2006-1-10 05:22:55 | 显示全部楼层
搞定了,原来是我的dvipdfmx没有升级。
回复 支持 反对

使用道具 举报

发表于 2006-1-14 06:11:47 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表