如何配置MacTeX的中文支持?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何配置MacTeX的中文支持?相关的知识,希望对你有一定的参考价值。

目前来说,结合 xeCJK 宏包使用 XeLaTeX 编译,应该是最方便的方式了。XeLaTeX 要求 .tex 文档保存为 UTF-8 编码。所以要做的事情只有两件:配置一个 UTF-8 的编辑环境;用 xeCJK 的语法选择合适的字体。

1. 印象中,TeXshop 的默认编码不是 UTF-8(具体是什么我不记得了),需要调整一下。打开 TeXshop,按下 cmd + , 打开偏好设置。在「源代码」标签下找到编码设置,调整为 UTF-8。

2.XeTeX 在 Mac OS X 下的行为和 Windows / Linux 下不大一样。Mac 底下,XeTeX 并不使用 fontconfig 库来搜索字体,所以我们没法在终端里通过 fc-list 命令来查看可用的字体列表。不过 Mac 里提供了名为「字体册」的程序,来列出系统中所有可用的字体信息。(其实这样的设计挺讨厌的,TeX Live 自带了许多开源字体,因此没有办法很好地使用。必须用字体名而不是字族名来调用这些字体,实在是不太方便。)打开字体册程序,找到需要的字体信息,这里的 PostScript 名称就是我们需要的信息,我们记下华文宋体的名字:「STSong」。你还可以按需找到其他字体的名字,比如华文中宋、华文楷体、华文黑体等字体的名字。

3.使用下列代码,配置中文字体。\\usepackagexeCJK\\setCJKmainfont[BoldFont=STZhongsong, ItalicFont=STKaiti]STSong\\setCJKsansfont[BoldFont=STHeiti]STXihei\\setCJKmonofontSTFangsong

这里,文档中文主字体是华文宋体,对应的 bfseries 字体是华文中宋,对应的 itshape 字体是华文楷体;文档的「无衬线」中文字体是华文新黑,对应的 bfseries 是华文黑体;文档的「等宽」中文字体是华文仿宋。

4.xeCJK 之解决了中文支持问题,以及一些关于标点的处理,并没有提供和中文版式相关的解决方案。ctex 宏包和文档类封装了 xeCJK,同时提供了中文版式的相关支持。新版的 ctex 宏包和文档类能够自动检测用户使用的操作系统,自动选择合适的字体配置,十分方便。

参考技术A

在 LaTeX 中使用中文,不严谨地说,主要需要解决编码和字体调用的问题。国内 LaTeX 圈子流行过 GBK 编码和 UTF-8 编码。前者是国标,是过去的主流,但是问题多多。现在推荐使用后者。字体调用方面,原来的 CCT(新版)、CJK 还有现在的 xeCJK、LuaTeX-ja 和李阿玲的 pTeX-ng 在 TeX Live(MacTeX)底下都能正常工作。只不过,Mac 默认的字体和 Windows 默认的字体有一些不同,在这方面需要做一些调整。国内期刊的模板大多数是 CCT 和 CJK 方式,其他一些模板可能比较先进,使用 xeCJK 方式。LuaTeX-ja 国内用的少,使用方法和 xeCJK 比较类似;pTeX-ng 尚在开发中。所以这里只介绍 使用 CCT、CJK 或 xeCJK 三种中文支持方式在 TeX Live 里如何进行调整。

参考技术B

MAC下TEXShop显示乱码问题:首先建议进入TeXShop -> Preferences -> Source,找到Encoding下拉菜单栏,将编码格式选为Unicode(UTF-8)。执行以上操作之后,当前的文件还是乱码。利用WinTeX打开之后(可以在文件前加一行!Mode=UTF8***, 参见另外一篇博文),不是乱码。然后复制到当前的TexShop,就不显示乱码了。首先,要看自己的mac下都安装了什么字体,可以直接到字体册里查看,注意,如果系统的默认语言是中文,会发现,有一些字体系统里明明有,为什么在latex下总是提示没有找到,可能的原因是.tex文件中的字体名字跟系统的字体名字不匹配,我就是这种问题。要解决这个问题简单,设置系统语言默认为英语,英语不好的童鞋可以先不要重启系统,只用来看看字体名字,再改回去就ok。然后就会发现有字体叫做Songti SC(简体)和Songti TC(繁体),也就是我们需要的宋体,这样直接在代码里把名字改一下就ok。

如何在我的软件中配置中文支持?

【中文标题】如何在我的软件中配置中文支持?【英文标题】:How to configure the chinese support in my software? 【发布时间】:2012-10-03 16:54:05 【问题描述】:

我正在使用FLTK 来实现我的应用程序的用户界面。为了实现中文支持,我使用字体wenquanyi。但是,当配置此字体时,罗马字符以丑陋的方式显示,而罗马数字以粗体显示。这是支持混合实现的最佳字体,罗马字符与汉字混合?

可能是我用来加载字体的参数不对

Fl::set_font(FL_HELVETICA, "-wenquanyi-wenquanyi bitmap song-medium-r-normal--0-0-100-100-p-0-iso10646-1");

【问题讨论】:

【参考方案1】:

问题在于混合了汉字符的拉丁文本要求排版显示成比例。某些地区的现代媒体可能更喜欢混合布局形式,但没有单一的通用方法。

因此,您实际上正在寻找的是将布局的元数据标记为汉文和混合形式以及纯拉丁形式。

解决方法是使用两种字体并在应用程序中管理上下文。

【讨论】:

以上是关于如何配置MacTeX的中文支持?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Mac 下配置使用 ctex

Mac下LaTeX环境搭建MacTeX + Sublime Text3 + skim

Mac+sublime text+skim

如何在我的软件中配置中文支持?

如何查看其他 BLE 设备支持的蓝牙配置文件?

如何配置支持会话的 MongoDB 集群?