latex 对中文字体设置的一些解决

latex 对中文字体设置的一些解决

直接使用Xelatex编译带中文的文件时,会出现无法识别的错误,这是因为latex默认的环境不支持中文,这时可以使用CTex 宏集ctex 宏包xeCJK 宏包使得latex 支持中文输出。而设置中文字体可通过以下实现:
(英文默认字体为:Computer Modern Roamn [CMR],由Donald Knuth创建,但是不支持中文,需要设置成支持中文的字体 - {来自:Egg‘s Blog})


%在导言区使用以下代码,获得中文支持
\document[utf8,a4paper,12pt] {ctexart}
%或者
\usepackage {ctex}

设置完成后,中文默认字体为 宋体,如需改变,可以使用一下命令对中文字体进行设置,windowsnew 的字库中包括以下字体:

字体 命令1 命令2
宋体 \songti \CJKfamily{zhsong}
黑体 \heiti \CJKfamily{zhhei}
仿宋 \fangsong \CJKfamily{zhfs}
楷书 \kaishu \CJKfamily{zhkai}
隶书 \lishu \CJKfamily{zhli}
圆体 \youyuan \CJKfamily{zhyou}
微软雅黑 \yahei \CJKfamily{zhyahei}


songti 是新定义的字体族转换命令,相当于\newcommand* {songti}{\CJKfamily{zhsong}}
zhsong 是新定义的字体族名字,相当于\setCJKfamilyfont {zhsong}{SimSun},将SimSun名字变为zhsong。

不建议使用 \textrm{},\textsf{},\texttt{} 来改变中文的字体,这样会与英文字体设置相混淆。
以下内容建议对latex有一定了解后再看:

\textrm{} 相当于默认字体,即中文宋体,英文罗马
\textit{} 默认中文楷书,若前面定义过下文中文字体,则为定义字体,英文斜体
\textsf{} 中文微软雅黑,英文无衬线体
\texttt{} 中文仿宋,英文等宽字体

++ 注意到textsf 会改变中文标点符号

但常规的字体加粗如 \textbf{} 可以互用。


打个比方说的话,ctex包若是一辆车,xeCJK就是个轮子。轮子是车子的重要零件,但我还是建议你开车,把装轮胎的事交给工程师。
----- 来自知乎用户

在这里,对xeCJK宏包的字体设置进行简单说明,引入xeCJK宏包只要在导言区使用:

\usepackage {xeCJK}

\setCJKmainfont {font name}
% 设置正文罗马族的CJK字体,影响\rmfamily和\textrm 的字体
\setCJKsansfont {font name}
% 设置正文无衬线族的CJK字体,影响\sffamily和\textsf 的字体
\setCJKmonofont {font name}
% 设置正文等宽族的CJK字体,影响\sffamily 和 \textsf 的字体

windows下预装的中文字体有:

  • Arial Unicode MS
  • FangSong,仿宋
  • KaiTi,楷体
  • Microsoft YaHei,微软雅黑
  • MingLiU,细明体
  • NSimSun,新宋体
  • PMingLiU,新细明体
  • SimHei,黑体
  • SimSun,宋体

只要将font name改为上述字体名称(中/英)即可

本文采用 BY-NC-SA协议,转载请注明出处。

原文地址:https://www.cnblogs.com/LitBro/p/12074820.html

时间: 2024-10-10 16:16:39

latex 对中文字体设置的一些解决的相关文章

CSS中文字体设置

字体的选择,是网页开发的关键因素之一. 合适的字体,对网页的美观度(或可读性)有着举足轻重的影响. 但是,相比英文字体,中文字体的网页开发有着极大的局限性.因为,一套中文字体最少也要有几千个字符,体积为几个MB:单单为了浏览网页,开发者不可能让用户去下载字体,只能依靠操作系统的预装字体.(*注:确实有网站提供中文字体的web服务,从技术角度,我不推荐这样做.) 不同的操作系统.不同的版本预装不同的字体(因为版权),几乎没有交集.因此,大多数开发者索性忽略中文字体,让操作系统自行渲染,或者用图片呈

Linux下中文乱码及中文字体缺失问题的解决

-----------------------------Exception Info---------------------- ----net.sf.jasperreports.engine.util.JRFontNotFoundException: Font '瀹嬩綋' is not available to the JVM. See the Javadoc for more details. -----------font xx not found in linux environmen

[Ubuntu]明明白白安装中文字体

Ubuntu 6.06 dapper对中文的支持应该说是一向不错的,包括现在默认安装就包含了scim输入法.然而,一般安装的ubuntu虽然能够显示.输入中文了,但总觉 得所显示的中文像歪瓜裂枣,很是别扭.这是很无奈的,也不是linux的错,这是因为现在几乎没有免费的中文字体库来给我们用,大家平时使用习惯了的 winxp里面的宋体.还有方正排版系统里面的仿宋体.公文中的方正小标宋等等,这些字体都是商业公司开发出来用在自己的产品中的,是有版权的,所以 linux不能拿过来就用.如果你还没有听说过字

网页字体设置你了解吗?

http://ued.ctrip.com/blog/?p=3589#more-3589 以前做项目的时候就依葫芦画瓢的设置 { font-family:arial,”microsoft yahei”,simsun,sans-self; } 等类似的字体,然而当更多的设备和系统出现后,以前这样的设置已不能满足网页在各设备上的显示需求. 就拿最简单的宋体(simsun)来说吧,在Windows系统下显示是一个比较容易阅读的字体,然而在Mac上简直无法直视,如下图给出一个优化前后页面的对比效果: 因此

[转载]网页字体设置你了解吗?

以前做项目的时候就依葫芦画瓢的设置 { font-family:arial,”microsoft yahei”,simsun,sans-self; } 等类似的字体,然而当更多的设备和系统出现后,以前这样的设置已不能满足网页在各设备上的显示需求. 就拿最简单的宋体(simsun)来说吧,在Windows系统下显示是一个比较容易阅读的字体,然而在Mac上简直无法直视,如下图给出一个优化前后页面的对比效果: 出处:http://ued.ctrip.com/blog 因此,出于种种原因,促使我不得不去

CJK字体设置

这里谈论的还是CJK的解决办法,不过很简单,一步一步照做就是了. 这里的重点是中文字体配置(UTF8 编码). latex的中文字体配置一直是很令人头疼的.如果没有找对方法, 可能浪费了很多时间后还不一定能搞定. 这篇文章的对象是刚接触一点latex,知道怎么套用别人的英文模板,但不知道怎么配置中文字体,如宋体等的读者. 我的系统是debian 5 首先安装texlive #apt-get install texlive-full 然后安装cjk的一些东西 用 #apt-cache search

iOS 字体设置

使用无衬线字体 body {     font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif; }  iOS 4.0+ 使用英文字体 Helvetica Neue,之前的iOS版本降级使用 Helvetica.中文字体设置为华文黑体STHeiTi. 需补充说明,华文黑体并不存在iOS的字体库中(http://support.apple.com/kb/HT5878), 但系统会自动将华文黑体 STHeiTi 兼容命中系统

移动web——字体设置最佳实践

body { font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif; } iOS 4.0+ 使用英文字体 Helvetica Neue,之前的iOS版本降级使用 Helvetica. 中文字体设置为华文黑体STHeiTi. 需补充说明,华文黑体并不存在iOS的字体库中(http://support.apple.com/kb/HT5484?viewlocale=en_US), 但系统会自动将华文黑体STHeiTi兼容命

转 移动端字体设置最佳实践

字体设置 body { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC","HelveticaNeue",STHeiti,"Microsoft Yahei",Tahoma,Simsun,sans-serif; } iOS 4.0+ (iOS 9以下系统已经非常少) 使用英文字体 Helvetica Neue,之前的iOS版本降级使用 Helvetica. 中文字体设置为华文