当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 16 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : [教学]how to use external fonts in xetex
帖子发表于 : 2007-06-20 18:19 

注册: 2006-01-10 19:09
帖子: 1334
送出感谢: 0 次
接收感谢: 0 次
昨天正好看到一篇文章内提到XeTeX可以使用系统自带的字体而不必生成tfm、type1字体,就安装了XeTeX在机器上试试。以前在latex中使用中文是一件比较麻烦的事情,不仅要生成各种编码的字体,还要注意tex文件的编码到底是gbk的还是utf8的等等诸如此类的问题。现在XeTeX为我们解决了这一难题,Ubuntu gutsy 自带的texlive2007就包含了XeTeX。网上这方面的文章比较少,我把我的安装方法和如何使用系统自带的字体来生成pdf文件简单的叙述一下。
安装texlive2007,gutsy上把tetex-bin作为虚拟包,要使用tex的话只能安装texlive了。因为我texlive部分是以前完成的所以具体安装哪些包也不是很清楚,一般情况可以试试
sudo apt-get install texlive texlive-XeTeX lmodern

安装好以后就可以试试编译一下tex的文件了
随便建立一个a.tex文件,内容如下:
\documentclass[12pt,a4paper]{article}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\setromanfont{AR PL ShanHeiSun Uni}
\begin{document}
\XeTeX 可以使用系统自带的字体,而不需要再另外生成。
\end{document}

编译这个文件用 xelatex a.tex 如果成功自动生成a.pdf文件,看一下能不能显示中文吧。
解释一下,fontspec这个包提供了XeteX能使用系统自带字体的功能,具体用法可以参考fontspec手册:/usr/share/doc/texlive-XeTeX/xelatex/fontspec/fontspec.pdf,xunicode 这个包在这里可以去掉因为没有用到一些复杂的字符,不过fontspec的手册强烈建议使用所以就放在里面了,xltxtra这个包提供了LaTeX没有的宏包,比如\XeTeX。
\setromanfont{AR PL ShanHeiSun Uni}正文的字体使用系统自带的Uming字体。如果你安装了其他中文字体的话,可以通过fc-list命令来查看所安装字体的名字,第一列就是。

如果你的系统里面没有安装其他字体但是还是想用的话,XeTeX提供了一种使用外部字体的方法,这是一件很令人兴奋的事情。看一下如何做到的。fontspec包提供了一个ExternalLocation的选项允许你使用外部的字体:
\fontspec[ExternalLocation=/media/hda5/windows/Fonts/]{simli.ttf}
修改一下上面的例子

\documentclass[12pt,a4paper]{article}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\newcommand\lishu{\fontspec[ExternalLocation=/media/hda5/windows/Fonts/]{simli.ttf}}
\newcommand\hei{\fontspec[ExternalLocation=/media/hda5/windows/Fonts/]{simhei.ttf}}
\newcommand\fang{\fontspec[ExternalLocation=/media/hda5/windows/Fonts/]{simfang.ttf}}
\newcommand\kai{\fontspec[ExternalLocation=/media/hda5/windows/Fonts/]{simkai.ttf}}
\setromanfont{AR PL ShanHeiSun Uni}
\begin{document}
\XeTeX 可以使用系统自带的字体,而不需要再另外生成。

\lishu \XeTeX 可以使用系统自带的字体,而不需要再另外生成。

\hei \XeTeX 可以使用系统自带的字体,而不需要再另外生成。

\fang \XeTeX 可以使用系统自带的字体,而不需要再另外生成。

\kai \XeTeX 可以使用系统自带的字体,而不需要再另外生成。

\end{document}

你也可以使用这个命令来编译得到pdf
xelatex -no-pdf a.tex
xdvipdfmx a.xdv
估计两者的差别在于产生的pdf能不能复制粘贴,没有测试过因为身边只有xpdf。
当然还有一些中文特有的格式比如缩进断行不知道XeTeX支持的如何,希望大家继续深入研究一下。


附件:
xetex.png
xetex.png [ 44.36 KiB | 被浏览 3855 次 ]

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-06-20 18:54 

注册: 2006-01-18 15:01
帖子: 1074
送出感谢: 0 次
接收感谢: 1
good!
不过,好像记得xetex的pdf没有嵌入字体,有可能别处看不到。


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-06-21 12:27 

注册: 2006-01-10 19:09
帖子: 1334
送出感谢: 0 次
接收感谢: 0 次
大部分的pdf都不内嵌字体的


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-06-26 2:14 

注册: 2006-01-18 15:01
帖子: 1074
送出感谢: 0 次
接收感谢: 1
内嵌了,可以在pdf信息处看到,我的问题是acroread在gutsy下有点小bug,解决了,不是xetex的问题。
以前就觉得,虽然type1的3次曲线,而ttf只是二次,但我们常用的字体都是从ttf生成的,所以所谓的type1字体更优美是假牙~


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-06-26 6:48 

注册: 2006-01-10 19:09
帖子: 1334
送出感谢: 0 次
接收感谢: 0 次
噢~机器慢从来只用xpdf的~可是就几十k几百k的文件也内嵌了字体


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-06-26 12:54 

注册: 2006-05-08 8:19
帖子: 29
送出感谢: 0 次
接收感谢: 0 次
中文首行缩进不行!


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-06-26 12:54 

注册: 2006-05-08 8:19
帖子: 29
送出感谢: 0 次
接收感谢: 0 次
另外,两种方法(直接用xelatex生成和xdv转成)生成的中文pdf都可以复制粘贴!!!


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2007-06-26 14:16 

注册: 2006-01-10 19:09
帖子: 1334
送出感谢: 0 次
接收感谢: 0 次
引用:
\usepackage{indentfirst}

最新的TexLive已经不包含这个包了,如果找不到indentfirst包,可以在导言区输入下列命令代替:

\makeatletter
\let\@afterindentfalse\@afterindenttrue
\@afterindenttrue
\makeatother
\setlength{\parindent}{2em}%中文缩进两个汉字位


http://www.cnblogs.com/agateriver/archi ... 06044.html


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2007-06-26 14:54 

注册: 2006-01-18 15:01
帖子: 1074
送出感谢: 0 次
接收感谢: 1
包含的。我gutsy texlive2007.有


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2007-06-26 19:36 

注册: 2006-01-10 19:09
帖子: 1334
送出感谢: 0 次
接收感谢: 0 次
用indentfirst我只缩进一个半字符?必须手动设立parindent


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2007-07-31 9:50 
头像

注册: 2007-01-15 17:15
帖子: 3766
送出感谢: 0 次
接收感谢: 0 次
woo woo , xetex xetex .... really convenience : )


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2007-10-26 0:03 

注册: 2007-01-23 0:29
帖子: 18
地址: 北京
送出感谢: 0 次
接收感谢: 0 次
请问,为什么我用了这两个package以后,数学符号显示不出来呢?
这样显示不出符号:
代码:
\documentclass[12pt,a4paper]{article}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\setromanfont{WenQuanYi Zen Hei}
\begin{document}
无穷 infty $\infty$
\end{document}


这样可以显示符号,却显示不了中文:
代码:
\documentclass[12pt,a4paper]{article}
\begin{document}
无穷 infty $\infty$
\end{document}


页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2007-11-06 16:23 

注册: 2006-01-10 19:09
帖子: 1334
送出感谢: 0 次
接收感谢: 0 次
\usepackage[cm-default]{fontspec}


页首
 用户资料  
 
14 楼 
 文章标题 :
帖子发表于 : 2007-11-09 0:00 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
☎ xelatex tmp.tex
This is XeTeXk, Version 3.141592-2.2-0.996 (Web2C 7.5.6)
%&-line parsing enabled.
entering extended mode
(./tmp.tex
LaTeX2e <2005/12/01>
Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, loaded.
(/usr/share/texmf-texlive/tex/latex/base/article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
(/usr/share/texmf-texlive/tex/latex/base/size12.clo))
(/usr/share/texmf-texlive/tex/xelatex/fontspec/fontspec.sty
(/usr/share/texmf-texlive/tex/generic/ifxetex/ifxetex.sty)
(/usr/share/texmf-texlive/tex/latex/tools/calc.sty)

! LaTeX Error: File `xkeyval.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name:

LaTeX Warning: You have requested, on input line 54, version
`2005/05/07' of package xkeyval,
but only version
`'
is available.

(/usr/share/texmf/tex/latex/lm/lmodern.sty)
(/usr/share/texmf-texlive/tex/latex/base/fontenc.sty
(/usr/share/texmf-texlive/tex/xelatex/euenc/eu1enc.def)
(/usr/share/texmf-texlive/tex/xelatex/euenc/lm/eu1lmr.fd))
! Undefined control sequence.
l.518 \define@key
[zf]{prepreparse}{ExternalLocation}[]{%
? q
OK, entering \batchmode

可以了


附件:
screenshot-2007-11-09-01-11-49.png
screenshot-2007-11-09-01-11-49.png [ 88.44 KiB | 被浏览 3339 次 ]



_________________
● 鸣学
页首
 用户资料  
 
15 楼 
 文章标题 :
帖子发表于 : 2008-03-21 15:41 

注册: 2007-12-10 1:28
帖子: 33
送出感谢: 0 次
接收感谢: 0 次
楼主的方法无误。可是使用wenquanyi bitmap song字体似乎出现找不到字体的错误。wenquanyi zen hei没有问题。
实验了一些其他字体,个人感觉是字体文件必须是ttf的才能支持,而bitmap song是pcf的,似乎不能直接使用。望哪位大虾给出简单点的解决办法?


附件:
Screenshot-emacs@roc.png
Screenshot-emacs@roc.png [ 157.84 KiB | 被浏览 2943 次 ]

页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 16 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译