LinuxSir.cn,穿越时空的Linuxsir!

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

texlive安装、中文使用真的很简单了,都可以一试了

[复制链接]
发表于 2011-12-1 16:29:53 | 显示全部楼层 |阅读模式
1、安装
软件:
echo "app-text/texlive-core cjk xetex" >> /etc/portage/package.use
emerge -av cjk-latex texlive-xetex texlive-langcjk
字体:
开源字库
emerge -av  wqy-bitmapfont unifont opendesktop-fonts
windows字库
ln -s /WINSYS-C:/WINDOWS/Fonts $HOME/.fonts
2、使用
文档格式:
1)test1.tex
\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{SimSun}
\begin{document}
        你好,TeX Live 2010!
\end{document}
2)test2.tex
\documentclass[12pt,a4paper]{article}
\usepackage{fontspec}
\begin{document}
{\setromanfont{STCaiyun}
不需要安装字:华文彩云 \\}
{\setromanfont{YouYuan}
不需要安装字:幼圆 \\}
\end{document}
生成文档:
xelate test1[.tex] test2[.tex]
3、setromanfont{YouYuan}字体填什么
我试了一下:
(IFS=$'\n';echo '\documentclass[12pt,a4paper]{article}';echo '\usepackage{fontspec}';echo '\begin{document}';for fc in `fc-list :lang=zh`;do temp=${fc//:*};fl=${temp##*,};fn=${temp//,*};echo '{\setromanfont{'$fl'}';if [ -z $fn ];then fn="$fl";fi;fn=${fn//_};echo '不需要安装字:'$fn'\\}';done;echo '\end{document}' )>test.tex
可以得到你当前安装的可用中文字体的文档

个人体验,请大家指教。
参考:http://bbs.ctex.org/viewthread.php?tid=64089
 楼主| 发表于 2011-12-1 16:33:20 | 显示全部楼层
好象我的WenQuanYi Bitmap Song不支持,3、那条命令好象还出了几个fixed字体,不知道是什么东东
回复 支持 反对

使用道具 举报

发表于 2011-12-1 22:05:53 | 显示全部楼层
试了一把,很不错!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-2 08:29:30 | 显示全部楼层
好象直接装texlive就行,/etc/portage/package.use加入:
app-text/texlive-core cjk xetex
app-text/texlive cjk xetex
media-libs/freetype kpathsea
app-text/lcdf-typetools kpathsea
然后:
emerge -av texlive,前面提到的几个包基本上就全了

字体好象还是要装
回复 支持 反对

使用道具 举报

发表于 2011-12-2 20:29:07 | 显示全部楼层
\setromanfont是用来设置衬线字体的,一般用于英文。中文最好用\setCJKmainfont来定义。
不知你用WenQuanYi Bitmap Song是出于什么想法,从没用点阵做出版印刷字体的。
回复 支持 反对

使用道具 举报

发表于 2011-12-2 20:30:10 | 显示全部楼层
Post by kingbo;2156365

3、setromanfont{YouYuan}字体填什么
我试了一下:
(IFS=$'\n';echo '\documentclass[12pt,a4paper]{article}';echo '\usepackage{fontspec}';echo '\begin{document}';for fc in `fc-list :lang=zh`;do temp=${fc//:*};fl=${temp##*,};fn=${temp//,*};echo '{\setromanfont{'$fl'}';if [ -z $fn ];then fn="$fl";fi;fn=${fn//_};echo '不需要安装字:'$fn'\\}';done;echo '\end{document}' )>test.tex
可以得到你当前安装的可用中文字体的文档


3中的脚本能不能稍作改进,使得能够输出Sans、Sans Serif、Mono这样的TeX字体分类规则?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-5 08:54:52 | 显示全部楼层
Post by jsun;2156430
\setromanfont是用来设置衬线字体的,一般用于英文。中文最好用\setCJKmainfont来定义。
不知你用WenQuanYi Bitmap Song是出于什么想法,从没用点阵做出版印刷字体的。

嗯,当时看着好象是字体的问题的,就是不大理解,你一说点阵字大概理解了
Post by easior lars;2156431
3中的脚本能不能稍作改进,使得能够输出Sans、Sans Serif、Mono这样的TeX字体分类规则?

:lang=zh换成:lang=en应该就可以的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-5 08:59:10 | 显示全部楼层
对命令进一步过滤一下,去掉_和fixed的问题:
(IFS=$'\n';echo '\documentclass[12pt,a4paper]{article}';echo '\usepackage{fontspec}';echo '\begin{document}';for fc in `fc-list :lang=zh`;do temp=${fc//:*};fl=${temp##*,};fn=${temp//,*};fl=${fl//\\-/-};fn=${fn//\\-/-};if [ "$fl" == "fixed" ] || [ "$fl" == "Fixed" ];then continue;fi;echo '{\setromanfont{'$fl'}';if [ -z $fn ];then fn="$fl";fi;fl=${fl//_};fn=${fn//_};echo '不需要安装字: (nick) '$fn' (name) '$fl'\\}';done;echo '\end{document}' )>test.tex
回复 支持 反对

使用道具 举报

发表于 2011-12-9 18:09:55 | 显示全部楼层
Post by kingbo;2156539

:lang=zh换成:lang=en应该就可以的


这个只能列出英文字体,
好像无法对字体进行Sans、Sans Serif、Mono分类?
回复 支持 反对

使用道具 举报

发表于 2011-12-15 09:04:43 | 显示全部楼层
Post by easior lars;2156750
这个只能列出英文字体,
好像无法对字体进行Sans、Sans Serif、Mono分类?
这个分类不太现实,因为许多字体并没有提供自己的分类信息,在X里还需要fontconfig来定义这个分类。
回复 支持 反对

使用道具 举报

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

本版积分规则

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