在 Overleaf 上使用 SourceSerifPro v1.4 包

在 Overleaf 上使用 SourceSerifPro v1.4 包

Overleaf 使用的是 SourceSerifPro v1.2,它不包含斜体字体。

v1.4 包含斜体,并作为包提供加拿大运输安全局

Overleaf 允许通过上传 .sty 文件来安装自定义包。(https://www.overleaf.com/learn/how-to/What_packages_do_you_support%3F

我尝试将包从 CTAN 上传到 overleaf,但无法被识别。

有没有简单的方法可以使用 overleaf 上的 CTAN 的 v1.4 包,这样我就不需要构建字体并使用诸如fontspec

https://www.overleaf.com/learn/latex/Questions/I_have_a_custom_font_I%27d_like_to_load_to_my_document._How_can_I_do_this%3F

答案1

Overleaf 技术支持能够提供可行的解决方案。

解决方案类似于此处描述的解决方案sourceserifpro需要稍微不同的处理。

添加以下内容以latexmkrc启用T1编码字体。

$ENV{'TEXINPUTS'}='./sourceserifpro/tex/:' . $ENV{'TEXINPUTS'};
$ENV{'TFMFONTS'}='./sourceserifpro/fonts/:' . $ENV{'TFMFONTS'};
$ENV{'ENCFONTS'}='./sourceserifpro/fonts/:' . $ENV{'ENCFONTS'};
$ENV{'T1FONTS'}='./sourceserifpro/fonts/:' . $ENV{'T1FONTS'};
$ENV{'VFFONTS'}='./sourceserifpro/fonts/:' . $ENV{'VFFONTS'};
$ENV{'TEXFONTMAPS'}='./sourceserifpro/fonts/:' . $ENV{'TEXFONTMAPS'};

$ENV{'VFFONTS'}行未包含在先前的解决方案中。

同样,应将以下几行添加到序言中,根据需要更改选项。

\pdfmapfile{+SourceSerifPro.map}
\usepackage[default,semibold,osf]{sourceserifpro}

不幸的是,连字无法正常工作。有些连字被渲染成带有 x 的方框,而其他连字则完全渲染不正确。例如,字符ff被替换为 ft 连字。

注意,以上所有内容均使用pdfLaTeX

最终的解决方案是切换到XeLaTex编译器并使用 OpenType 版本sourceserifpro

为了启用 OpenType 版本,的内容latexmkrc更改为

$ENV{'TEXINPUTS'}='./sourceserifpro/tex/:' . $ENV{'TEXINPUTS'};
$ENV{'TFMFONTS'}='./sourceserifpro/fonts/:' . $ENV{'TFMFONTS'};
$ENV{'ENCFONTS'}='./sourceserifpro/fonts/:' . $ENV{'ENCFONTS'};
$ENV{'T1FONTS'}='./sourceserifpro/fonts/:' . $ENV{'T1FONTS'};
$ENV{'VFFONTS'}='./sourceserifpro/fonts/:' . $ENV{'VFFONTS'};
$ENV{'TEXFONTMAPS'}='./sourceserifpro/fonts/:' . $ENV{'TEXFONTMAPS'};
$ENV{'OPENTYPEFONTS'}='./sourceserifpro/fonts/:' . $ENV{'OPENTYPEFONTS'};

将该行添加$ENV{'OPENTYPEFONTS'}到解决方案中T1

解决方案中的前言行在T1.tex文件中仍然是需要的。

切换到的缺点XeLaTeX是许多功能microtype不受支持。

我的项目似乎也适用于LuaLaTeX。这意味着更多(但遗憾的是不是全部)功能都pdfLaTeX microtype可以使用。为了使它能够编译,LuaLaTeX您必须删除上述行

\pdfmapfile{+SourceSerifPro.map}

因为不需要LuaLaTeX

相关内容