XeLaTeX-中文排版解决方案

news/2024/11/17 6:48:20/

以前使用CJK进行中文的排版,需要自己生成字体库,近日,出现了XeTeX,可以比较好的解决中文字体问题,不需要额外生成LaTeX字体库,直接使用计算机系统里的字体,本文以在Linux下为例说明XeTeX的使用。

操作系统: Ubuntu

TeX:除了texlive包外,还需要安装的包是texlive-xetex。

字体:可以使用fc-list查看你自己的字体库,注意字体的完整名称,在XeTeX里面会用到。

安装好后,开始一个例子,例子里面的字体是我计算机里面的一些字体,源文件必须是UTF8编码,这在Linux很容易。

源文件:xetex.tex

\documentclass[12pt,a4paper]{article}
\usepackage{fontspec,xunicode,xltxtra}
\usepackage{titlesec}
\usepackage[top=1in,bottom=1in,left=1.25in,right=1.25in]{geometry}\titleformat{\section}{\Large\xbsong}{\thesection}{1em}{}\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt\newfontfamily\song{Simsun (Founder Extended)}
\newfontfamily\bwei{FZBeiWeiKaiShu-S19S}
\newfontfamily\zbhei{FZZhanBiHei-M22T}
\newfontfamily\xzt{FZXiaoZhuanTi-S13T}
\newfontfamily\xbsong{FZXiaoBiaoSong-B05}
\newfontfamily\dbsong{FZDaBiaoSong-B06}
\newfontfamily\gulif{FZGuLi-S12T}
\newfontfamily\gulij{FZGuLi-S12S}
\newfontfamily\kai{FZKai-Z03}
\newfontfamily\hei{FZHei-B01}
\newfontfamily\whei{WenQuanYi Zen Hei}
\newfontfamily\fsong{FZFangSong-Z02}
\newfontfamily\lanting{FZLanTingSong}
\newfontfamily\boya{FZBoYaSong}
\newfontfamily\lishu{FZLiShu-S01}
\newfontfamily\lishuII{FZLiShu II-S06}
\newfontfamily\yao{FZYaoTi-M06}
\newfontfamily\zyuan{FZZhunYuan-M02}
\newfontfamily\xhei{FZXiHei I-Z08}
\newfontfamily\xkai{FZXingKai-S04}
\newfontfamily\ssong{FZShuSong-Z01}
\newfontfamily\bsong{FZBaoSong-Z04}
\newfontfamily\nbsong{FZNew BaoSong-Z12}
\newfontfamily\caiyun{FZCaiYun-M09}
\newfontfamily\hanj{FZHanJian-R-GB}
\newfontfamily\songI{FZSongYi-Z13}
\newfontfamily\hcao{FZHuangCao-S09}
\newfontfamily\wbei{FZWeiBei-S03}
\newfontfamily\huali{FZHuaLi-M14}
\setmainfont{FZLanTingSong}\renewcommand{\baselinestretch}{1.25}\begin{document}\title{\whei XeTeX使用小结}
\author{\fsong 何勃亮}
\date{\kai2009年6月21日}\maketitle\section{简介}
以前使用CJK进行中文的排版,需要自己生成字体库,近日,出现了XeTeX,可以比较好的解决中文字体问题,不需要额外
生成LaTeX字体库,直接使用计算机系统里的字体。\section{字体列表}
本文使用了大量本机自带的字体。\begin{table}[htbp]
\caption{字体列表}\centering
\begin{tabular}{|l|c|r|}
\hline
\hei 字体 & \hei 命令 & \hei 字体效果 \\
\hline
\kai 宋体 & \verb+\song+ & \song 宋体 \\
\kai 楷体 & \verb+\kai+ & \kai 楷体 \\
\kai 黑体 & \verb+\hei+ & \hei 黑体 \\
\kai 仿宋体 & \verb+\fsong+ & \fsong 仿宋体 \\
\kai 文泉驿黑体 & \verb+\whei+ & \whei 文泉驿黑体 \\
\kai 书宋体 & \verb+\ssong+ & \ssong 书宋体 \\
\kai 报宋体 & \verb+\bsong+ & \bsong 报宋体 \\
\kai 新报宋体 & \verb+\nbsong+ & \nbsong 新报宋体 \\
\kai 兰亭宋体 & \verb+\lanting+ & \lanting 兰亭宋体 \\
\kai 博雅宋体 & \verb+\boya+ & \boya 博雅宋体 \\
\kai 宋体一 & \verb+\songI+ & \songI 宋体一 \\
\kai 隶书 & \verb+\lishu+ & \lishu 隶书 \\
\kai 隶书二 & \verb+\lishuII+ & \lishuII 隶书二 \\
\kai 古隶简体 & \verb+\gulij+ & \gulij 古隶简体 \\
\kai 古隶繁体 & \verb+\gulif+ & \gulif 古隶繁体 \\
\kai 华隶书 & \verb+\huali+ & \huali 华隶书 \\
\kai 小标宋 & \verb+\xbsong+ & \xbsong 小标宋 \\
\kai 大标宋 & \verb+\dbsong+ & \dbsong 大标宋 \\
\kai 小篆体 & \verb+\xzt+ & \xzt 小篆体 \\
\kai 姚体 & \verb+\yao+ & \yao 姚体 \\
\kai 准圆 & \verb+\zyuan+ & \zyuan 准圆 \\
\kai 细黑一 & \verb+\xhei+ & \xhei 细黑一 \\
\kai 行楷书 & \verb+\xkai+ & \xkai 行楷书 \\
\kai 彩云体 & \verb+\caiyun+ & \caiyun 彩云体 \\
\kai 汉简书 & \verb+\hanj+ & \hanj 汉简书 \\
\kai 魏碑体 & \verb+\wbei+ & \wbei 魏碑体 \\
\hline
\end{tabular}
\end{table}\end{document}

编译,编译需要的程序是xelatex,而不是latex,需要注意下:

xelatex xetex.tex

编译结果是xetex.pdf,下图是截图。
XeTeX:一个新的LaTeX中文排版解决方案


http://www.ppmy.cn/news/733428.html

相关文章

【PDF转换电子书】云展网教程 | 如何制作PDF文件上传云展网?

云展网仅支持PDF文件上传,但是没有PDF文件怎么办呢?以下推荐几种制作PDF文件的方法: 方法一:图片转换为PDF文件 有图片文件,可以把图片文件转换为PDF文件。 方法二:使用专业PDF制作工具制作 推荐页面大…

户口本大小

原文:http://wenku.baidu.com/view/7f1925c54028915f804dc22e.html 户口薄封2、封3及内芯 尺寸规格 a)纸张尺寸:140mm105mm,公差为1.5mm; b)表格外框线尺寸:130mm80mm;公差为1.0mm. c)表格外框线距纸边距离&#x…

Matlab FontName 以及字体设置

列出所有FontName 命令行输入: listfonts显示: >> listfontsans 4171 cell 数组{Agency FB }{Aharoni }{Algerian }{Andalus }{Angsana New …

北宋: 宋太祖赵匡胤(927年3月21日-976年11月14日)宋太宗赵光义(939—997年)宋真宗赵恒(968-1022)宋仁宗赵祯(1010年—1063年)宋英宗赵曙(1032年&…

threejs 模型添加文字的几种方式

在给几何体或者导入的模型表面添加文字时,可以用如下方式 1 将文字绘制到canvas中,并将其用作Texture 给正方体某个表面添加文字为例;如下创建一个正方体 // --------------------------------------------------------------------- // 添…

vue3+ts 绘制流程图 vueflow 附代码及效果图

已完成渲染流程图,自定义模板内容(上下分级),自定义样式,新增节点addRandomNode,点击修改节点nodeClickHandler(从父组件传值) 官网:https://vueflow.dev/guide/node.html#node-template 文档比较复杂,很多想找的方法…

随手笔记——ROS下CMakeLists.txt中add_executable、target_link_libraries简单使用

随手笔记——ROS下CMakeLists.txt中add_executable、target_link_libraries简单使用说明 说明使用举例 说明 add_executable() 生成可执行文件 target_link_libraries() 为可执行文件或库添加链接库 使用举例 add_executable(iat_publish src/iat_publish.cppsrc/speech_rec…

液晶显示屏划痕修复方法

现在大家使用的电子设备都采用了液晶屏,而在日常使用中难免磕磕碰碰,这也使得液晶屏幕上经常会留下一些小划痕。天天看着这些碍眼的划痕,大家心里一定很不爽吧,实际上我们可以自己动手通过一些小技巧来将它们赶走。 工具/原料 铅笔…