特克斯現場版本: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,
然後就這樣繼續下去,整個過程中許多專案通常會發生一個單位的變化。