LinuxSir.cn,穿越时空的Linuxsir!

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

slackware12.0安装CJK-求安装经验-----弄了好久,该弄的好像都弄了,还不行,只好暂时放弃

[复制链接]
发表于 2008-10-23 22:56:27 | 显示全部楼层 |阅读模式
leicer,或其他装过CJK的朋友,能不能在此详细介绍一下你安装CJK的经验?
折腾了好久终于生成了字体,可还是用不了。编译含中文的文件时,总是说can't find CJK.sty。而/usr/local/share/texmf/tex/latex/CJK/CJK.sty是存在的。不知是不是一定要安装在系统本身/usr/share/texmf的目录下,还是缺少文件?

我的是slackware12.0的系统,用的cjk-4.8.0.tar.gz 和gbkfonts-linux-0.3.tar.gz两个包。我是这样弄的:
按照何勃亮的教程把cjk-4.8.0中的texinput中的文件cp 到/usr/local/share/texmf/tex/latex/CJK目录下(这个目录是自建的),
把字体sim*.ttf复制到/usr/local/share/texmf/fonts/truetype/chinese(也是自建的)目录下,然后将gbkfonts-linux-0.3.tar.gz中的程序go(shell脚本) ,gbkfonts,appendconf复制到/usr/local/bin目录下,再用go(调用gbkfonts)
生成字体。
发表于 2008-10-24 05:59:46 | 显示全部楼层
不知是不是一定要安装在系统本身/usr/share/texmf的目录下

yes
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-25 00:01:19 | 显示全部楼层
thanks
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-25 00:11:41 | 显示全部楼层
感觉安装都到位了,可不知怎么搞的,汉字还是没法正常显示,
对tex了解较多的大哥们,知道症结所在么?会不会是设置的问题?

下面是测试用tex文件:
\documentclass{article}
\usepackage{CJK}

\begin{CJK*}{GBK}{song}
\title{笑傲江湖}
%\author{evesea}
\end{CJK*}

\begin{document}
\maketitle

\begin{CJK*}{GBK}{song}
汉语
\end{CJK*}
\end{document}

编译后,标题部分显示成一系列引号,
“汉语”二字成为一黑块.
一下是编译的完整信息,很大段是简单重复,
为完整一并放在这里:
slackboy@slackboy:~/texfile$ latex chinese.tex
This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4)
entering extended mode
(./chinese.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/share/texmf/tex/latex/base/article.cls
Document Class: article 2004/02/16 v1.4f Standard LaTeX document class
(/usr/share/texmf/tex/latex/base/size10.clo))
(/usr/share/texmf/tex/latex/CJK/CJK.sty
(/usr/share/texmf/tex/latex/CJK/mule/MULEenc.sty)
(/usr/share/texmf/tex/latex/CJK/CJK.enc))
(/usr/share/texmf/tex/latex/CJK/standard.bdg)
(/usr/share/texmf/tex/latex/CJK/extended.enc)
(/usr/share/texmf/tex/latex/CJK/extended.chr) (./chinese.aux)
! Argument of \CJK@XX has an extra }.
<inserted text>
                \par
l.10 \maketitle

?
! Undefined control sequence.
\CJK@XX ...r `#1\endcsname {`#2}\CJK@ignorespaces
                                                  \fi
l.10 \maketitle

?
! Undefined control sequence.
\CJK@XX ...r `#1\endcsname {`#2}\CJK@ignorespaces
                                                  \fi
l.10 \maketitle

?
! Argument of \CJK@XX has an extra }.
<inserted text>
                \par
l.10 \maketitle

?
! Undefined control sequence.
\CJK@XX ...r `#1\endcsname {`#2}\CJK@ignorespaces
                                                  \fi
l.10 \maketitle

?
! Undefined control sequence.
\CJK@XX ...r `#1\endcsname {`#2}\CJK@ignorespaces
                                                  \fi
l.10 \maketitle

?
! Argument of \CJK@XX has an extra }.
<inserted text>
                \par
l.10 \maketitle

?
! Undefined control sequence.
\CJK@XX ...r `#1\endcsname {`#2}\CJK@ignorespaces
                                                  \fi
l.10 \maketitle

?
! Undefined control sequence.
\CJK@XX ...r `#1\endcsname {`#2}\CJK@ignorespaces
                                                  \fi
l.10 \maketitle

?
! Argument of \CJK@XX has an extra }.
<inserted text>
                \par
l.10 \maketitle

?
! Undefined control sequence.
\CJK@XX ...r `#1\endcsname {`#2}\CJK@ignorespaces
                                                  \fi
l.10 \maketitle

?
! Undefined control sequence.
\CJK@XX ...r `#1\endcsname {`#2}\CJK@ignorespaces
                                                  \fi
l.10 \maketitle

?
! Argument of \CJK@XX has an extra }.
<inserted text>
                \par
l.10 \maketitle

?
! Undefined control sequence.
\CJK@XX ...r `#1\endcsname {`#2}\CJK@ignorespaces
                                                  \fi
l.10 \maketitle

?
! Undefined control sequence.
\CJK@XX ...r `#1\endcsname {`#2}\CJK@ignorespaces
                                                  \fi
l.10 \maketitle

?
! Argument of \CJK@XX has an extra }.
<inserted text>
                \par
l.10 \maketitle

?
! Undefined control sequence.
\CJK@XX ...r `#1\endcsname {`#2}\CJK@ignorespaces
                                                  \fi
l.10 \maketitle

?
! Undefined control sequence.
\CJK@XX ...r `#1\endcsname {`#2}\CJK@ignorespaces
                                                  \fi
l.10 \maketitle

?

LaTeX Warning: No \author given.

(/usr/share/texmf/tex/latex/CJK/GB/c19song.fd)
[1] (./chinese.aux) )
Output written on chinese.dvi (1 page, 560 bytes).
Transcript written on chinese.log.
slackboy@slackboy:~/texfile$
回复 支持 反对

使用道具 举报

发表于 2008-10-26 10:13:44 | 显示全部楼层
有两个问题需要注意:
1. Slackware一直使用的tetex已经不再维护,建议使用texlive。
2. Latex 文档格式有问题,所有的汉字字符必须包含在\begin{document}和 \end{document}之间,改成下面的格式重试一下。
  1. \documentclass{article}
  2. \usepackage{CJK}
  3. \begin{document}
  4. \begin{CJK*}{GBK}{song}
  5. \title{笑傲江湖}
  6. \author{evesea}
  7. \maketitle
  8. 汉语
  9. \end{CJK*}
  10. \end{document}
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-26 23:06:30 | 显示全部楼层
谢谢lchxr的建议!
源文件改为如下之后,
编译一切正常──什么错都没报,
就是最关键的一点,
输出dvi文件的汉字还是黑块,
真的是一头雾水...
与字体会不会有什么关系呢?

\documentclass{article}
\usepackage{CJK}

\begin{document}

\begin{CJK*}{GBK}{song}

\title{笑傲江湖}
\author{evesea}
\maketitle

汉语

\end{CJK*}
\end{document}
回复 支持 反对

使用道具 举报

发表于 2008-10-26 23:43:26 | 显示全部楼层
Post by evesea;1899794

输出dvi文件的汉字还是黑块,
真的是一头雾水...
与字体会不会有什么关系呢?
如果xdvi 不能正确显示汉字,这个与字体没有关系,与字体映射有关。

如果使用tetex系统,那么产生一个文件$TEXMF/xdvi/xdvi.cfg,在其中加入下面一行
  1. dvipsmap cjk.map
复制代码
这里$TEXMF是latex的安装目录,比如/usr/share/texmf

如果使用texlive, 那么需要运行updmap --edit,该命令会打开一个编辑窗口,让你编辑字体映射。在文件末尾加上字体映射文件,比如
  1. ...
  2. Map gbkfs.map
  3. Map gbkkai.map
  4. ...
复制代码
这里gbkfs.map, gbkkai.map等是你生成字体时产生的文件,按照你选择的文件名进行适当的修改。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-27 23:03:21 | 显示全部楼层
我用的是tetex,
加了dvipsmap  cjk.map这句在指定文件后,
汉字还是黑块(可能还有相关文件没设好,我再找有关手上的教程看看)。
然后试试用dvipdf chinese.dvi生成pdf,pdf文件中的汉字索性没了。
然后有下面的提示信息(不知有没有用):
bash-3.1$ dvipdf chinese.dvi
dvips: Font gbksong77 not found, characters will be left blank.
dvips: Font gbksong13 not found, characters will be left blank.
dvips: Font gbksong02 not found, characters will be left blank.
dvips: Font gbksong76 not found, characters will be left blank.
dvips: Font gbksong23 not found, characters will be left blank.
dvips: Font gbksong42 not found, characters will be left blank.
dvips: Font gbksong76 not found, characters will be left blank.
dvips: Font gbksong07 not found, characters will be left blank.
dvips: Font gbksong35 not found, characters will be left blank.
bash-3.1$
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-27 23:09:01 | 显示全部楼层
有点要补充,生成的dvi文件,上面所说都是用kdvi看的。
刚试一下用xdvi,出现了汉字,不过可惜是乱码。不过比黑块看着舒服多了。。。
用xdvi 看时说找不到cjk.map(见下面),而cjk.map在/usr/share/texmf/tex/latex目录下是有的
(在/usr/share/texmf/xdvi目录下没有,当然复制到它下面也不没好转),也不知在哪里有才算真的有。。。
bash-3.1$ xdvi chinese.dvi
xdvi-motif.bin: Warning: Could not find map file "cjk.map".
Warning: Missing charsets in String to FontSet conversion
xdvi-motif.bin: Warning: Character 144 is mapped to .notdef in font gbksong35 (page 1), replacing by whitespace.
回复 支持 反对

使用道具 举报

发表于 2008-10-28 02:52:06 | 显示全部楼层
网上这些东西,国内的对原理一般都不讲,以为大家都是高手,让一些新人,很难入手。
相比较而言,国外的要好一点,可能国外的人认为大家比较傻,讲的非常详细。
回复 支持 反对

使用道具 举报

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

本版积分规则

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