Tex Live 版本: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,
然后它继续这样下去,通常许多项目中都会有一个单位发生变化。