ubuntu latex 方案

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
头像
stormelf
帖子: 21
注册时间: 2005-05-22 16:07
来自: 西电
联系:

ubuntu latex 方案

#1

帖子 stormelf » 2005-06-05 10:24

这是我在ubuntu上安装cjk-latex的经验,于大家分享。

1. 安装cjk-latex, tetex-bin, tetex-base, freetype1-tools, freetype1-tools, dvipdfm-cjk, dvipdfmx...
其中有些没有必要,也有可能有些没列出来,反正是基本的tetex + cjk-latex
2. 生成中文字体,设置字体
2.1 下载gbkfonts这个包里是编译好的,另一个包是源码,但是含有一个重要的脚本,一起下下来吧,如果找不到,email to me: wqwang /at/ mail.xidian.edu.cn
2.2 把simsun.ttc (or .ttf) 通过各种非法途径拷过来,将第一个gbkfonts包里的gbkfonts也解出来,把第二个包里的appendconf解出来,全部放到一个目录里,假设/home/user/tmp/,一个有三个文件(gbkfonts, simsun.ttf, appendconf).

$cd /home/user/tmp
;下面一行生成字体和配置文件,全部都在当前目录下
$sudo ./gbkfonts simsun.ttc song
;下面一行配置字体
$sudo ./appendconf /usr/share/texmf

2.3 还没完呢,要把当前目录生成的所有子目录(fonts, dvipdfm, dvips, pdftex, tex),全部拷到/usr/share/texmf/下面,注意,拷的时候最好手动拷,因为/usr/share/texmf/pdftex/config 是个链接,不能覆盖,只能进到链接里面,把文件拷过去(当然,高手除外,cp肯定有参数可以做到)

2.4 手动修改两个文件(有可能没必要,不过还是改吧)
a. 修改/usr/share/texmf/dvips/config/config.ps 在最后面加上
p +/usr/share/texmf/dvips/cjk.map
b. 修改/usr/share/texmf/tex/latex/CJK/pmCsmall.enc
在 \CJK@namegdef{^^a1}##1{\relax\CJK@punctchar{A1}{a1}{0}{##1}}前面加上如下内容:

\CJK@namegdef{^^87}##1{\CJK@char{87}{0}{##1}}
\CJK@namegdef{^^88}##1{\CJK@char{88}{0}{##1}}
\CJK@namegdef{^^89}##1{\CJK@char{89}{0}{##1}}
\CJK@namegdef{^^8a}##1{\CJK@char{8a}{0}{##1}}
\CJK@namegdef{^^8b}##1{\CJK@char{8b}{0}{##1}}
\CJK@namegdef{^^8c}##1{\CJK@char{8c}{0}{##1}}
\CJK@namegdef{^^8d}##1{\CJK@char{8d}{0}{##1}}
\CJK@namegdef{^^8e}##1{\CJK@char{8e}{0}{##1}}
\CJK@namegdef{^^8f}##1{\CJK@char{8f}{0}{##1}}
\CJK@namegdef{^^90}##1{\CJK@char{90}{0}{##1}}
\CJK@namegdef{^^91}##1{\CJK@char{91}{0}{##1}}
\CJK@namegdef{^^92}##1{\CJK@char{92}{0}{##1}}
\CJK@namegdef{^^93}##1{\CJK@char{93}{0}{##1}}
\CJK@namegdef{^^94}##1{\CJK@char{94}{0}{##1}}
\CJK@namegdef{^^95}##1{\CJK@char{95}{0}{##1}}
\CJK@namegdef{^^96}##1{\CJK@char{96}{0}{##1}}
\CJK@namegdef{^^97}##1{\CJK@char{97}{0}{##1}}
\CJK@namegdef{^^98}##1{\CJK@char{98}{0}{##1}}
\CJK@namegdef{^^99}##1{\CJK@char{99}{0}{##1}}
\CJK@namegdef{^^9a}##1{\CJK@char{9a}{0}{##1}}
\CJK@namegdef{^^9b}##1{\CJK@char{9b}{0}{##1}}
\CJK@namegdef{^^9c}##1{\CJK@char{9c}{0}{##1}}
\CJK@namegdef{^^9d}##1{\CJK@char{9d}{0}{##1}}
\CJK@namegdef{^^9e}##1{\CJK@char{9e}{0}{##1}}
\CJK@namegdef{^^9f}##1{\CJK@char{9f}{0}{##1}}
\CJK@namegdef{^^a0}##1{\CJK@char{a0}{0}{##1}}

3. 基本搞定,最后别忘了运行 $sudo texhash
如果你还想添加楷体,黑体,仿宋,就把刚才gbkfonts生成的/home/usr/tmp下的文件全部删除(保险), 然后重复以上过程,
如: $sudo ./gbkfonts simkai.ttf kai
$sudo ./gbkfonts simhei.ttf hei
$sudo ./gbkfonts simfang.ttf fs
4. 到这一步,cjk-latex就算装好了,不过,建议安装kile(latex编辑器),很爽(本来用ubuntu挺爽的,不过没有WinEdit,又很不爽,最后总算找到了kile),不过你要装kde(about 100M),晚上1点后装^_^,挺快的,10分钟之内就搞定了。

5. 装好kile后,如果你的local不是gbk,那么保存tex文件的时候一定要选gbk编码,否则得到的dvi将不是你所要得。用其他编辑器也存在同样的问题,一定要gbk,要不然显示的中文不是你说要的(困惑了我1day + )!!!
6. 验收成果,建一个test.tex,加入如下内容,保存:
\documentclass{article}
\usepackage{CJK}
\begin{document}
\begin{CJK*}{GBK}{song}
你好Latex
\end{CJK*}
\end{document}

运行下列命令产生.dvi, (.pdf), 查看
;生成.dvi
$latex test.tex
;查看.dvi
$xdvi test.dvi
或者$dvipdf test来生成pdf

7.声明: 我是小菜,哈哈,只知其然不知其所以然,所以,以上步骤可能存在错误和疏漏,请多包涵。
Any problem, give me an email: wqwang /at/ mail.xidian.edu.cn

8. Referrence

http://linux.chinaunix.net/doc/chinese/ ... 1030.shtml
http://www.supermmx.org/tex/tex-font/tex-font.html
http://learn.tsinghua.edu.cn/homepage/2 ... index.html
http://rondon.blogchina.com/[url][/url]
上次由 stormelf 在 2005-06-15 0:10,总共编辑 1 次。
cocos
帖子: 19
注册时间: 2005-06-05 11:40
来自: pku

#2

帖子 cocos » 2005-06-05 12:12

说说我的
同样使用gbkfonts生成字体 ,这里要说明最好在一个空文件夹中做这件事情。
将生成的所有文件cp -R 到该目录 :/usr/local/share/texmf
这个文件夹如果你以前没有做过类似的事情应该现在是空的,如果没有就自己建一个,然后cp.

下面的工作有点麻烦,需要修改一些配置文件。
在usr/local/share/texmf/dvips/config/config.ps中加入以下行:
"p +cjk.map"(不要带引号)
如果没有该文件,就从/usr/share/texmf/中同样的目录里cp一个过来。

在/usr/share/texmf/web2c/texmf.cnf中找到以下行
TTFONTS = .;$TEXMF/fonts/truetype...(find 前面的这些就可以找到)
然后加入你刚刚gbkfonts了的.ttf字体路径
TTFONTS = .;$TEXMF/fonts/{truetype,ttf}//;/usr3/fonts//(add your own path here.)

在/usr/local/share/texmf/pdftex/config/pdftex.cfg中加入以下行:
"map +gbksong.map"(不要带引号,song是你刚刚gbkfonts时 生成的字体名,例如../gbkfonts ../simsun.ttf song,../表示路径,你可以修改为自己的路径)
同样如果找不到该文件,在/usr/share/texmf中的相同目录cp一个过来。

在/usr/local/share/dvipdfm/config/config中加入以下行:
"f cid-x.map"(不带引号)

这样基本上就差不多了,最后用sudo mktexlsr重新建立tex文件的索引,要不然tex可能找不到新的文件。

这个主页不错,有更详细的资料可以参考,我也是参考这里做得:
http://learn.tsinghua.edu.cn/homepage/2 ... frame.html
头像
max0000
帖子: 310
注册时间: 2005-04-08 14:54

#3

帖子 max0000 » 2005-06-05 20:27

有用cjk-lyx的吗?
我的cjk-tex配置好了,但是cjk-lyx怎么也用不起来。
头像
stormelf
帖子: 21
注册时间: 2005-05-22 16:07
来自: 西电
联系:

#4

帖子 stormelf » 2005-06-05 23:29

我也在整lyx,可以看见中文了,但是有问题,原因很明确,但是不知道怎么解决。因为我的locale是utf8,而cjk-latex设置的是GBK,所以lyx产生的文档中的中文不是我要的,在kile里只需将文件保存成gbk编码的就行了,但是lyx里不知道怎么搞。
下面说说我的设置,
1.安装cjk-lyx 1.3.x
2.在Layout/Document/Peamble/加入\usepackage{CJK}
3.新建文档,加入tex代码(Insert/Tex)
\begin{CJK*}{GBK}{song}
然后输入
你好
再次插入Tex
\end{CJK*}
就能看见汉字了,不过不是"你好",而是别的,我认识,就是utf8和gb2312之间转换的问题,哪位兄台指点一下,如何在lyx里设置编码?
头像
stormelf
帖子: 21
注册时间: 2005-05-22 16:07
来自: 西电
联系:

cjk-lyx也搞定了

#5

帖子 stormelf » 2005-06-07 1:43

安装cjk-lyx 1.3.5.1,然后把/etc/enviorment中的LANG改成zh-CN.GBK就行了,
头像
max0000
帖子: 310
注册时间: 2005-04-08 14:54

#6

帖子 max0000 » 2005-06-07 10:22

还是老问题:
不能正常显示汉字。
view/dvi
会出错。
我没有用gbkfonts,只是synaptic了Arphic "AR PL SungtiL GB" TrueType font TeX font metric data。用latex命令转换cjk-tex文件是正常的。
cjk-lyx 1.3.5.1是用alien转的。以前编译的包也是一样的问题。
给点建议吧!
附件
无标题.png
无标题.png (19.04 KiB) 查看 15816 次
头像
stormelf
帖子: 21
注册时间: 2005-05-22 16:07
来自: 西电
联系:

#7

帖子 stormelf » 2005-06-11 1:07

楼上的兄弟, 你的问题曾经困扰我好几天,最好发现是编码的问题,因为cjk-lyx不能设置编辑器的编码(或者咱们不知道如何设置),所以,如果你的locale是utf8的话,输入的汉字默认是utf8的编码,所以,出现乱马。解决办法,将locale改成GBK,问题一下在就解决了。看看我的截图.
附件
cjk-lyx
cjk-lyx
screenshot.png (23.42 KiB) 查看 15798 次
zengsun
帖子: 334
注册时间: 2005-05-17 14:45

#8

帖子 zengsun » 2005-06-13 16:25

cjk-latex是什么?!
头像
stormelf
帖子: 21
注册时间: 2005-05-22 16:07
来自: 西电
联系:

RE: cjk-latex是什么?!

#9

帖子 stormelf » 2005-06-13 23:08

通俗来讲,latex是一套编辑工具,写科技论文(特别是公式多的时候)的时候,比word好用方便和强大,cjk-latex就是让latex可以处理中文的包。

网上有很多latex的介绍,你可以去google搜一下
头像
max0000
帖子: 310
注册时间: 2005-04-08 14:54

#10

帖子 max0000 » 2005-06-14 21:03

stormelf 写了:楼上的兄弟, 你的问题曾经困扰我好几天,最好发现是编码的问题,因为cjk-lyx不能设置编辑器的编码(或者咱们不知道如何设置),所以,如果你的locale是utf8的话,输入的汉字默认是utf8的编码,所以,出现乱马。解决办法,将locale改成GBK,问题一下在就解决了。看看我的截图.
view/dvi呢?
来个图吧!
头像
stormelf
帖子: 21
注册时间: 2005-05-22 16:07
来自: 西电
联系:

#11

帖子 stormelf » 2005-06-15 0:02

max0000 写了:
stormelf 写了:楼上的兄弟, 你的问题曾经困扰我好几天,最好发现是编码的问题,因为cjk-lyx不能设置编辑器的编码(或者咱们不知道如何设置),所以,如果你的locale是utf8的话,输入的汉字默认是utf8的编码,所以,出现乱马。解决办法,将locale改成GBK,问题一下在就解决了。看看我的截图.
view/dvi呢?
来个图吧!
虽然你不相信,我还是把过程说一下吧(以下步骤并非完全必要,我只知其然):

1. 将以下内容,放到~/.lyx/lyxrc里

代码: 全选

\language_auto_begin false
\language_auto_end false
\language_command_begin "\begin{CJK*}{GB}{}"
\language_command_end "\end{CJK*}"
\language_package "\usepackage{CJK}" 

\screen_font_i18n1_gothic "-*-songti"
\screen_font_i18n1_normal "-*-songti"
\screen_font_i18n1_encoding "gbk-0"
\screen_font_i18n2_gothic "-*-songti"
\screen_font_i18n2_normal "-*-songti"
\screen_font_i18n2_encoding "gbk-0" 
2. 新建一个lyx文档,在Layout/Document/Preamble里加入下面一行:

代码: 全选

\usepackage{CJK}
3. 在文档中加入两个Tex代码段,分别为

代码: 全选

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

代码: 全选

\end{CJK*}
然后在两个Tex代码段之间写中文,测试dvi

当然,以上步骤正常工作是建立在cjk-latex,cjk-lyx, 以及相关字体安装好的前提下。
附件
lyx-dvi.png
lyx-dvi.png (38.86 KiB) 查看 15755 次
头像
max0000
帖子: 310
注册时间: 2005-04-08 14:54

#12

帖子 max0000 » 2005-06-15 8:22

不是不信你。
有道是一张图胜过千言万语吗!
可是俺不愿为一个程序改local,还是得想另外的办法。
头像
max0000
帖子: 310
注册时间: 2005-04-08 14:54

#13

帖子 max0000 » 2005-06-15 12:41

找到个在UTF8下用CJK的办法:
http://lidaobing.gnway.net/~nichloas/unisong.html
view/pdf(pdflatex)没问题了。可惜显示还是老样子。
头像
stormelf
帖子: 21
注册时间: 2005-05-22 16:07
来自: 西电
联系:

#14

帖子 stormelf » 2005-06-15 12:46

max0000 写了:不是不信你。
有道是一张图胜过千言万语吗!
可是俺不愿为一个程序改local,还是得想另外的办法。
没有让你改locale,只是把/etc/enviorment中的LANG和LC_ALL改成zh_CN.GBK,只是用户的encoding,没有改系统的locale,跟windows的编码一样,挺方便的,不过,你自己看吧,这只是我个人的意见。
另外,你也可以用utf8的编码,具体可以参照cjk-latex使用utf8处理中文的方法,我没试过,网上有不少文章,不过如果你要用gbk编码,可能就没有别的办法了,因为他的格式里已经些的很清楚了: \begin{CJK*}{GBK}{song}
Ubuntu 5.04
Compaq Presario M2009AP
www.edrawsoft.com
头像
max0000
帖子: 310
注册时间: 2005-04-08 14:54

#15

帖子 max0000 » 2005-06-15 19:41

我用\begin{CJK*}{UTF8}{song}也一样的可以。
回复