使用 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可以找到文件:位於背面配置 fontawesome5是關於fontawesome5與 pdflatex 一起使用,所以不包括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 帳戶,則可以點擊選單中的“複製項目”,將其複製到您自己的帳戶中,以獲得您自己的可編輯副本。

我希望這會有所幫助。

相關內容