在LaTeX中配置西夏文字体与环境
Posted xjtu-blacksmith
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在LaTeX中配置西夏文字体与环境相关的知识,希望对你有一定的参考价值。
警告:这篇文章的部分内容需要西夏文字体才能正常显示。若您需要安装,可参考本文的第四部分。
赖云帆已经在他的博客里发布了在LaTeX
中排印西夏文的基本方法。这里多说一点。
1 配置字族
我的做法是:直接占用sans
字族,将其用于打印西夏文。对于中国的研究者,排西夏文的时候肯定是和汉文混排,所以还是建议直接上xeCJK
宏包(或ctex
宏包),免得麻烦多:
usepackage{xeCJK}
setCJKmainfont{华文仿宋} % 景永时字体比较接近于仿宋的字形,搭配效果较好
setCJKsansfont{Tangut N4694} % 由ccamc.co发布的字体,修改自景永时字体
之后,在正文中用sf
的控制序列即可设定一个区域中显示西夏文。例如,为方便在大量的汉文中插入少量的西夏文,可单独设定一条“西夏文短句”的命令:
ewcommand{ angut}[1]{{sf #1}}
然后在正文中写一个这样的段落:
下面我们来显示一段西夏文:Tangut{《??????????????????》}
效果如下。
如果不需要中文或其他CJK字体,则可以单用fontspec
宏包,可参考赖云帆的博客。
2 粗体、斜体设定
LaTeX
中不能实现伪粗体或伪斜体,需要自行设置替代字族。说起来,西夏文能打在屏幕上已经不错了,还要什么粗体、斜体……如果要试一下的话,可以采用下面这套字体组合,还比较美观。
setCJKsansfont[BoldFont=新西夏字体,ItalicFont={Tangut TWU}]{Tangut Yinchuan}
其中Tangut TWU
字体有部分缺字,使用时需注意。排版下面这样一个段落,注意其中对粗体和斜体用了large
命令,因实验发现此处使用的粗体/斜体字体都偏小:
以下这段话则显示了一整个引用段落:
egin{quotation}sf
??????????! extbf{large ??????????}!??????????!??????????????!??????????????! extit{large ??????????????????????????????}。????。??????????????????。????????。??、??????????,??????????。????????。????、????????、????????、????????、??。??????、????????,??????????,??????。??,????????。????????,????????。????。????、????????????????,??????????。
end{quotation}
效果如下。粗体不明显,斜体(实质上是手写体)还比较突出。
参考目前的西夏研究文献,没有见到需要使用粗、斜体的情况。如果确实需要(例如编写纯西夏文的文献……),应当专门设计针对的粗体、斜体字体。
3 文本编辑器的字体设定(以Sublime Text为例)
编程时需要等宽字体。要使得西夏文很好的在编辑器中显示,其字体要求有二类:要么是将西夏字体与等宽的英文字体配合起来,要么是使西夏字体不占用英文字体的编码(从而使得编辑器默认的等宽字体与西夏文搭配起来)。
我是用Sublime Text 3
编辑LaTeX
源码的。由ccamc.co发布的Tangut N4694
是一款比较理想的西夏字体,不幸的是其中还嵌入了非等宽的英文字体,这使得其在文本编辑器中效果很差。另一款由魏安整理的字体Tangut Yinchuan
(也是改编自景永时字体)内嵌了等宽的字体,跟Consolas
比较接近,效果较好(中文显示为比较磕碜的细明体,但好歹能忍)。在已安装这款字体的情况下,在菜单栏Preferences->Settings
弹出的User
文件中填入:
{
"font_face": "Tangut Yinchuan",
}
应用即可,效果如下:
在其他编辑器中,应用类似的修改字体操作也可实现同样的效果。
4 附录:一些字体的下载源
以下给出的都是unicode
编码的字体,不占用汉字或其他编码空间。因为西夏文进入unicode
只是几年前的事,所以这些字体都还比较新。
首先是由ccamc.co发布的四款字体:Tangut N4694
(改编自景永时字体)、new Tangut Std
(字形与景永时体类似,但进行了大幅度的重新设计,修正了许多错误,字形偏粗)、Tangut TWU
(改编自台湾中研院的字体,手写风)、Mojikyo Tangut
(直接取自日本的今昔文字镜字体,错误较多未做修正)。这些字体的发布页面为“字體和输入法”。(另外,该页面上还可以下载到几款很合用的西夏文输入法,同时也附有相应的教程。)
英国学者魏安的个人网站BabelStone上发布有两款西夏文字体:Tangut Wenhai
(取自《文海》,缺字较多)、Tangut Yinchuan
(改编自景永时字体,字库齐全,字体比较纤细)。点击它们的名称即可下载。
目前可用的unicode
编码西夏字体,应该就这几个。占用其他文字编码的字体,同样可以使用,但是这对编辑器当然是一点也不友好:代码编辑器里可不能像在Word
里一样,这里用这个字体,那里用那个字体。
最后……我不是西夏文的研究者,西夏文纯粹是过去因偶然原因而获得的“爱好”。今后由于时间、精力的有限,估计不会再涉足了,毕竟深度太低的认识不如一无所知——我自己是这个看法。此文算是一个阶段的终点。
以上是关于在LaTeX中配置西夏文字体与环境的主要内容,如果未能解决你的问题,请参考以下文章