Stix Two Math 不斷用 lualatex 重寫緩存

Stix Two Math 不斷用 lualatex 重寫緩存

特克斯現場版本:TeX 3.14159265 (TeX Live 2020)

此 MWE 貫穿始終:

\documentclass[a4paper]{article}

\usepackage{unicode-math}
\setmainfont{Tex Gyre Schola}[Scale=0.97]
\setmathfont{Tex Gyre Schola Math}[Scale=MatchLowercase]
\setmathfont[range={\int,\iint}]{Stix Two Math}
\setsansfont{TeX Gyre Heros}[Scale=MatchLowercase]
\setmonofont{inconsolatan}[Scale=MatchLowercase,StylisticSet={1,3}]

\begin{document}

\section*{The first section}
The quick brown fox jumps over the lazy dog's back.
\begin{equation}
  x=\alpha + \beta
\end{equation}
The quick brown fox jumps over the lazy dog's back.

\verb!The quick brown fox jumps \emph{emphasized} over the lazy dog's back.!

\end{document}

它沒有任何問題地通過了 lualatex,並按預期給出了 .pdf。

我的問題與字體快取有關...texmf-var/luatex-cache/generic-dev/fonts/otl。這是運行 MWE 之前的字體快取列表:

Created at 2020-08-31 16:30 with ls -ltr, i.e. latest file last.
    .
    .
    .
-rw-rw-r-- 1 leif leif  337751 2020-08-29 14:36 texgyreschola-regular.lua
-rw-rw-r-- 1 leif leif  204144 2020-08-29 14:36 texgyreschola-regular.luc
-rw-rw-r-- 1 leif leif  333538 2020-08-29 14:36 texgyreschola-bolditalic.lua
-rw-rw-r-- 1 leif leif  198037 2020-08-29 14:36 texgyreschola-bolditalic.luc
    .
    .
    .
-rw-rw-r-- 1 leif leif  722234 2020-08-30 12:47 stix2text-regular.lua
-rw-rw-r-- 1 leif leif  466687 2020-08-30 12:47 stix2text-regular.luc
    .
    .
-rw-rw-r-- 1 leif leif  764569 2020-08-30 12:47 stix2text-italic.lua
-rw-rw-r-- 1 leif leif  477285 2020-08-30 12:47 stix2text-italic.luc
-rw-rw-r-- 1 leif leif 1042702 2020-08-31 15:03 stix2math.lua
-rw-rw-r-- 1 leif leif  628077 2020-08-31 15:03 stix2math.luc

運行 MWE 後,快取看起來像這樣

Created at 2020-08-31 16:44 with ls -ltr, i.e. latest file last.
    .
    .
    .
-rw-rw-r-- 1 leif leif  764569 2020-08-30 12:47 stix2text-italic.lua
-rw-rw-r-- 1 leif leif  477285 2020-08-30 12:47 stix2text-italic.luc
-rw-rw-r-- 1 leif leif 1042702 2020-08-31 16:44 stix2math.lua
-rw-rw-r-- 1 leif leif  628077 2020-08-31 16:44 stix2math.luc

正如您所看到的,所有其他條目均未受影響,但兩個文件已stix2math重寫。

你可能會問,我為什麼要抱怨。畢竟,lualatex 只重寫了大約 2MB,在我的機器上只需要幾秒鐘。原因是我用來處理我的文檔,並且在決定是否需要另一次運行latexmk時會考慮快取中的文件。latexmk由於快取中的檔案每次運行都會更改,因此latexmk永遠不會考慮已完成的工作,而是會繼續直到達到最大運行次數。

所以我的問題是

  • 有沒有辦法lualatex不重寫快取檔案?

或者

  • 在決定是否需要再次運行時,有沒有辦法latexmk忽略字體快取檔案?

編輯我在兩次運行之間對 stix2math.lua 進行了比較lualatex <file>,它開始於

--- before.lua  2020-08-31 18:10:56.636561526 +0200
+++ after.lua   2020-08-31 18:11:29.024059824 +0200
@@ -658,9 +658,9 @@
    ["math"]={
     ["accent"]=440,
     ["kerns"]={
-     ["bottomleft"]=20,
-     ["bottomright"]=19,
-     ["topright"]=19,
+     ["bottomleft"]=19,
+     ["bottomright"]=20,
+     ["topright"]=20,
     },
    },
    ["name"]="M",
@@ -22748,7 +22748,7 @@
        ["kern"]=100,
       },
      },
-     ["topright"]=20,
+     ["topright"]=19,
     },
    },
    ["unicode"]=119813,

然後就這樣繼續下去,整個過程中許多專案通常會發生一個單位的變化。

相關內容