LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
123
返回列表 发新帖
楼主: forrestxz

请问texlive如何支持中文

[复制链接]
发表于 2010-7-6 15:23:29 | 显示全部楼层
Post by SDE;2101659
xecjk 已经包含在 texlive-xetex-2009 里了


那这样的话,gentoo-china 里的 xecjk 和 xetex 都可以撤下了。

现在 tl 2010 快出来了,届时可将 ctex 包放到 gentoo-china 里。
回复 支持 反对

使用道具 举报

发表于 2010-7-6 15:29:37 | 显示全部楼层
ctex 似乎也已经有了
sde@hp /home/doc/vcs/bib/pdf
$ equery belongs ctex.sty                                                            
* Searching for ctex.sty ...
dev-texlive/texlive-langcjk-2009 (/usr/share/texmf-dist/tex/latex/ctex/ctex.sty)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-6 16:00:52 | 显示全部楼层
看了半天,我痛苦了。看来还得安装texlive。

以前有过痛苦的经历,要比较干净的去除掉emerge的texlive是比较麻烦的事情
回复 支持 反对

使用道具 举报

发表于 2010-7-6 16:38:16 | 显示全部楼层
Post by forrestxz;2101681
看了半天,我痛苦了。看来还得安装texlive。

以前有过痛苦的经历,要比较干净的去除掉emerge的texlive是比较麻烦的事情


没什么麻烦的吧

$ eix -I texlive
###列出所有 texlive 相关的包

$ emerge -C texlive-xxxx ## 删除包

然后到 /etc 目录,看看哪个是 texlive 的包,手动清除。(可做,可不做)
回复 支持 反对

使用道具 举报

发表于 2010-7-6 20:18:47 | 显示全部楼层
Post by forrestxz;2101681
看了半天,我痛苦了。看来还得安装texlive。

以前有过痛苦的经历,要比较干净的去除掉emerge的texlive是比较麻烦的事情

其实我现在用ubuntu,因为Gentoo中的Emacs的中文显示始终没有搞定(能显示,但效果极差,而ubuntu中可以随便换ttf字体,而同样的.emacs配置在gentoo中就不行)。
因为Emacs的TeX语法高亮包需要ubuntu的texlive包,所以我先安装的系统自带的最小的texlive,然后再安装texlive2009覆盖掉原来的。



你完全可以用portage的texlive,然后去别人那里复制xecjk和ctex,再texhash就行了。
回复 支持 反对

使用道具 举报

发表于 2010-7-6 20:38:36 | 显示全部楼层
1.CJK已经非常老了
2,xetex可以简单有效地解决中文字体的问题
3,我的中文样式 zhfontcfg.sty
  1. % 把文件放在/usr/share/texmf-texlive/tex/xelatex/zhfontconf/
  2. % 在终端执行:# mktexlsr ,把这个宏包加入系统
  3. % 使用时只要加载这一个宏包,中文环境就建好了。
  4. % xetex/xelatex 中文字体设定宏包
  5. \ProvidesPackage{zhfontcfg}
  6. \usepackage{fontspec,xunicode,xltxtra}
  7. \defaultfontfeatures{Mapping=tex-text} %如果没有它,会有一些 tex 特殊字符无法正常使用,比如连字符。
  8. % 中文断行
  9. \XeTeXlinebreaklocale "zh"
  10. \XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt
  11. % 将系统字体名映射为逻辑字体名,为了维护方便。
  12. \newcommand\fontnamehei{WenQuanYi Micro Hei}
  13. \newcommand\fontnamesong{AR PL UMing CN}
  14. \newcommand\fontnamekai{AR PL UKai CN}
  15. \newcommand\fontnamemono{WenQuanYi Zen Hei Mono}
  16. \newcommand\fontnameroman{Liberation Serif}
  17. % 设置文档正文为宋体
  18. \setmainfont[BoldFont=\fontnamehei]{\fontnamesong}
  19. \setsansfont[BoldFont=\fontnamehei]{\fontnamekai}
  20. \setmonofont{\fontnamemono}
  21. % 楷体
  22. % newfontinstance = newfontfamily
  23. % fontinstance 创建新的字体样式,而fontfamily创建新字体族。
  24. \newfontinstance\KAI{\fontnamekai}
  25. \newcommand{\kai}[1]{{\KAI #1}}
  26. % 黑体
  27. \newfontinstance\HEI{\fontnamehei}
  28. \newcommand{\hei}[1]{{\HEI #1}}
  29. % 英文
  30. \newfontinstance\ENF{\fontnameroman}
  31. \newcommand{\en}[1]{\,{\ENF #1}\,}
  32. \newcommand{\EN}{\,\ENF\,}
复制代码
这样用起来就相当简单啦。

我是学生物的,平时几乎不与公式打交道,所以常用Lyx来写文档,方便嘛,尤其是那么多的图片-_-
回复 支持 反对

使用道具 举报

发表于 2010-7-6 20:57:36 | 显示全部楼层
Post by xushaohua2011;2101724
1.CJK已经非常老了
2,xetex可以简单有效地解决中文字体的问题
3,我的中文样式 zhfontcfg.sty

这样用起来就相当简单啦。

我是学生物的,平时几乎不与公式打交道,所以常用Lyx来写文档,方便嘛,尤其是那么多的图片-_-

不是CJK而是xeCJK,是基于xeTeX的。用基于xeCJK的ctexbook、ctexart、ctexrep....的好处是不用区分中文英文,两者同等对待。
看来你对TeX的中文支持发展了解不多。
中文支持最早是CCT,然后是CJK(德国人开发的,需要自己生成中文tfm字体文件),xeTeX(可以直接使用ttf字体文件,而不用另外生成tfm、afm等子字体文件了)出来以后,又有人开发了zhspacing,接着开发了xeCJK,现在又在xeCJK的基础上有人开发了ctexbook、ctexart、ctexrep.....

当然也有牛人,好像ctex.org上有人只用context(一个只比tex高一级的宏包,许多命令都需要自己定义)。
回复 支持 反对

使用道具 举报

发表于 2010-7-6 22:32:08 | 显示全部楼层
Post by xushaohua2011;2101724
1.CJK已经非常老了
2,xetex可以简单有效地解决中文字体的问题
3,我的中文样式 zhfontcfg.sty
  1. % 把文件放在/usr/share/texmf-texlive/tex/xelatex/zhfontconf/
  2. % 在终端执行:# mktexlsr ,把这个宏包加入系统
  3. % 使用时只要加载这一个宏包,中文环境就建好了。
  4. % xetex/xelatex 中文字体设定宏包
  5. \ProvidesPackage{zhfontcfg}
  6. \usepackage{fontspec,xunicode,xltxtra}
  7. \defaultfontfeatures{Mapping=tex-text} %如果没有它,会有一些 tex 特殊字符无法正常使用,比如连字符。
  8. % 中文断行
  9. \XeTeXlinebreaklocale "zh"
  10. \XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt
  11. % 将系统字体名映射为逻辑字体名,为了维护方便。
  12. \newcommand\fontnamehei{WenQuanYi Micro Hei}
  13. \newcommand\fontnamesong{AR PL UMing CN}
  14. \newcommand\fontnamekai{AR PL UKai CN}
  15. \newcommand\fontnamemono{WenQuanYi Zen Hei Mono}
  16. \newcommand\fontnameroman{Liberation Serif}
  17. % 设置文档正文为宋体
  18. \setmainfont[BoldFont=\fontnamehei]{\fontnamesong}
  19. \setsansfont[BoldFont=\fontnamehei]{\fontnamekai}
  20. \setmonofont{\fontnamemono}
  21. % 楷体
  22. % newfontinstance = newfontfamily
  23. % fontinstance 创建新的字体样式,而fontfamily创建新字体族。
  24. \newfontinstance\KAI{\fontnamekai}
  25. \newcommand{\kai}[1]{{\KAI #1}}
  26. % 黑体
  27. \newfontinstance\HEI{\fontnamehei}
  28. \newcommand{\hei}[1]{{\HEI #1}}
  29. % 英文
  30. \newfontinstance\ENF{\fontnameroman}
  31. \newcommand{\en}[1]{\,{\ENF #1}\,}
  32. \newcommand{\EN}{\,\ENF\,}
复制代码
这样用起来就相当简单啦。

我是学生物的,平时几乎不与公式打交道,所以常用Lyx来写文档,方便嘛,尤其是那么多的图片-_-

这个配置文件我以前也用过,已经“过时”了。最主要的问题是\setmainfont用的不对(不合理)。现在可以把\setmainfont写作\setCJKmainfont,而用\setmainfont来定义英文字体。
回复 支持 反对

使用道具 举报

发表于 2010-7-6 23:54:41 | 显示全部楼层
受教了,看来知识更新太慢了也就落伍啦0_0
粘一点xeCJK文档中关于它的特点的一点介绍,具体内容可以去http://code.google.com/p/ctex-ki ... xeCJK.pdf?r=229#。
  1. 主要特点:
  2. 1. 分别设置 CJK 和英文字体;
  3. 2. 自动忽略 CJK 文字间的空格而保留其它空格,允许在非标点汉字和英文字
  4.    母 (a-z, A-Z) 间断行;
  5. 3. 提供多种标点处理方式:全角式、半角式、开明式、行末半角式;
  6. 4. 自动调整中英文间空白。
复制代码
如果按之前用xetex来处理中文的话,里面的英文字体修改起来就麻烦了,比如用宋体的话,那字母就相当难看了,所以才又设了特定的英文环境,但在xeCJK中就相当简单啦-;
回复 支持 反对

使用道具 举报

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

本版积分规则

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