使用 fontawesome5 未找到 TFM 或已安装的字体(在带有 XeLaTeX 的 Overleaf v2 上)

使用 fontawesome5 未找到 TFM 或已安装的字体(在带有 XeLaTeX 的 Overleaf v2 上)

更新

我的问题依赖于我制作的测试项目的编译结果(我在下面链接了该项目),这清楚地表明找不到字体。虽然将该软件包fontawesome5作为 Overleaf 使用的 TeX 发行版的一部分与客户服务有关,但出现我在此处描述的这个特定问题不是。这可能发生在 Overleaf 之外。例如,如果我想以本地、每个项目的方式使用包含字体的定制包或相同类型的 CTAN zip,而不将其安装到计算机上。这就是为什么我认为这个问题很重要并且不适合关闭。

此外,我承认这句话“我认为他们不会回应。看,如果他们回应,这个包裹早就被加进去了!”对 Overleaf 团队来说非常不公平,他们已经做出了出色的工作。所以我在这里公开为我说的话道歉。


更新 #2

除非对使用本网站有更多了解和经验的人决定其他选择,并且考虑到问题确实得到了回答,否则我将保留这个问题,以便记录在案,向其他用户和我自己展示如何以及如何在这里与其他人互动。


我尝试了所描述的程序在回答这个问题时在 Overleaf v2 上(因为fontawesome5其中仍然缺少该包)无济于事。

我为测试这一点而制作的小文档可供使用此处(只读)

不过请注意,这个问题和这个问题之间的唯一区别是我使用的是 XeLaTeX。

具体来说,与该包相关的两个错误是:

错误 #1.- /fontawesome5/tex/fontawesome5-utex-helper.sty,第 59 行

Font TU/fontawesomefree/solid/n/12=[FontAwesome5Free-Solid-900.otf]:script=latn; at 12.0pt not loadable: Metric (TFM) file or installed font not found.

<to be read again> 
                   relax 
l.59 ...ze_font:nn{\c__fontawesome_kind_tl}{solid}

I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.

错误 #2.- /fontawesome5/tex/fontawesome5-utex-helper.sty,第 60 行

Font TU/fontawesomebrands/regular/n/12=[FontAwesome5Brands-Regular-400.otf]:script=latn; at 12.0pt not loadable: Metric (TFM) file or installed font not found.

<to be read again> 
                   relax 
l.60 ...ntawesome_analyze_font:nn{brands}{regular}

I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.

然后,我根本无法使用该包,因为\faCircle无法识别类似的命令。

我很确定我遗漏了此特定配置的某些内容。那会是什么?

使用 XeLaTeX 时,我需要做什么才能使该包在 Overleaf 上运行?

答案1

(免责声明:我是 Overleaf 的支持人员。)

需要在文件中添加一行,latexmkrc以尝试使用该fontawesome5包和 XeLaTeX:

$ENV{'OPENTYPEFONTS'}='./fontawesome5/opentype/:' . $ENV{'OPENTYPEFONTS'};

这样.otf可以找到文件:在 overleaf 上配置 fontawesome5与 pdflatex 一起使用fontawesome5,因此不包括OPENTYPEFONTS

不知何故,您发布的测试项目仍然出现错误(该项目已被清除,因此无法进行进一步的调试),fontawesome5但是XeLaTeX 在我创建的这个小测试项目中找到工作:https://www.overleaf.com/read/fpcpdkswcrrb

但是,如果你使用的是fontawesome5v5.6.3 或更高版本,那么在 Overleaf 上你会收到另一个错误:

Undefined control sequence.
\__fontawesome_glyphindex:n ...D "\str_if_eq:eeTF 
                                              {stop}{#1}{square}{#1}"\sc...
l.8 Something more... \faAddressBook

这是因为该命令\str_if_eq:eeTF目前在 Overleaf 上使用的 TeX Live 2017 版本中不可用。因此目前(2019 年 3 月),fontawesome55.6.3 及更高版本无法与 Overleaf 上的 XeLaTeX 一起使用——直到 v5.8.0 为止工作。

另外几点需要澄清:

  1. 我们回复查询和支持请求[email protected][email protected]我们我们会尽快回复:-) 尽管周末可能会有更长的延迟...;-)

  2. 以只读模式打开项目后(例如https://www.overleaf.com/read/wmrmtcgstjth) 您可以点击文件列表面板上方的 Overleaf 菜单图标,然后点击“下载 - 源文件”来下载源文件的 .zip 文件。或者,如果您已经登录了自己的 Overleaf 帐户,您可以点击菜单中的“复制项目”,将其克隆到您自己的帐户中,以获得您自己的可编辑副本。

我希望这能有所帮助。

相关内容