-
Notifications
You must be signed in to change notification settings - Fork 940
字体配置
ucasthesis 根据操作系统而自动调用配置中英文字体:
- Windows (自动设定 fontset=windows): 中文-SIM 类字体,英文-Times New Roman
- MacOS (自动设定 fontset=mac): 中文-SC 类字体,英文-Times New Roman
- Linux (自动设定 fontset=fandol): 中文-fandol 字体,英文-Times New Roman
- Adobe (手动设定 fontset=adobe):中文-Adobe 中文字体,英文-Times New Roman
如果想手动指定特定字体选项,只须在 Thesis.tex 中给定 fontset 选项即可:
\documentclass[twoside,fontset=选项]{Style/ucasthesis}%
选项 可为 windows 或 mac 或 adobe 或 fandol
手动指定字体选项时,请确保当前操作系统已安装 fontset=选项 所需要的相应字体。
使用 Windows (fontset=windows) 系统的字体时可能会出现无法正常拷贝 PDF 中的中文文本到其他文本编辑器的情况,这个问题源于xelatex的一个bug(感兴趣者请见:ctex issue, tex.se, xetex bug),其好处就是你的论文自动被保护了,如果你想避免这个问题,可以考虑如下方案中的一个:
- 使用
最新版 ucasthesis (版本 >= 2019年4月24日) + Windows 10 + 最新版 MikTex (>= MikTex 2.9.7)
初步测试表明在如上配置下,编译生成的 PDF 中的所有内容皆可正确复制拷贝而不产生乱码。
-
在 MacOS 系统而不是 Windows 系统上编译。
-
在 Windows 系统上安装使用 Adobe (fontset=adobe) 字体,Adobe字体的下载和安装请见下面。
ucasthesis 在 Linux 系统下中文采用 ctex 默认配置的 fandol 字体,英文采用 Linux 系统自带的 Freeserif 这一类 times 字体。 fandol 字体字重完备但是字体库相对较小,如果论文有较多生僻字,可能无法正常显示。这时可考虑在 Linux 系统上安装其他字体,比如 Windows 的或是 MacOS 的或是其他来源的比如 Adobe 字体。
当同时安装好 fontset=选项 所需的中英文字体后,即可启用 fontset=选项 开始调用 fontset 选项所指定的字体集。
Adobe 字体的下载只需 Google Adobe 字体的各个名字即可找到源,如:
Adobe字体下载源1:
Adobe 下载源2
问题的出现可能有多方面的原因:
- 导出图时启用了透明度(transparency),导致 Adobe Reader PDF 阅读器的 anti-aliasing 处理异常, 而换其他阅读器或打印时不会有渲染问题。 此问题一般只发生于位图格式,如 .jpg 或 .png,解决办法就是去掉图的透明度(transparency)。
- 据 tex.se 源一 和 tex.se 源二,若图格式为 .pdf 或 .eps 等矢量图时出现字体加粗问题,则为 xetex 的一个 bug 所导致(已对英文字体进行了修复,中文字体仍存在问题)。其解决方法为:
- 输出图时选择不嵌入字体在图中,特别是 Windows 系统上所生成的图,比如模板所采用的 .pdf 图都没有嵌入字体,测试发现似乎不会出现异常加粗的问题。
检查 PDF 中字体的方法:
- Windows:
findstr FontName document.pdf
- MacOS:
strings document.pdf | grep -i FontName
- Linux:
pdffonts document.pdf
- Windows:
- 避免在矢量图中使用中文可消除此问题。如果有大量中文,可考虑使用 .jpg 或 .png 等位图格式, 亦可消除问题。
- 如果不想修改图本身且需要使用中文,则可考虑对每一个
\includegraphics{}
命令进行如下处理:
- 输出图时选择不嵌入字体在图中,特别是 Windows 系统上所生成的图,比如模板所采用的 .pdf 图都没有嵌入字体,测试发现似乎不会出现异常加粗的问题。
检查 PDF 中字体的方法:
\begingroup
\fontspec{Times New Roman}{\color{white}.}%
\includegraphics{plot}
\endgroup
- 测试发现,此异常加粗主要缘于加粗图标题文字所导致,从而,如果不想采用上述方案,则可考虑取消对标题加粗即可,即在 artratex.sty 中将
\RequirePackage[font={small,bf},skip=8pt,labelsep=space]{caption}% options: [margin=10pt,labelfont=bf]
改为
\RequirePackage[font={small},skip=8pt,labelsep=space]{caption}% options: [margin=10pt,labelfont=bf]