Stix Two Math continua reescrevendo o cache com lualatex

Stix Two Math continua reescrevendo o cache com lualatex

Versão Tex Live:TeX 3.14159265 (TeX Live 2020)

Este MWE é usado em:

\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}

Ele passa no lualatex sem problemas e fornece um .pdf conforme o esperado.

Meu problema tem a ver com o cache de fontes, ...texmf-var/luatex-cache/generic-dev/fonts/otl. Esta é uma lista do cache de fontes antes de executar meu 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

Depois de executar o MWE, o cache fica assim

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

Como você pode ver, todas as outras entradas permanecem intactas, mas os dois arquivos stix2mathforam reescritos.

Por que reclamo, você pode perguntar. Afinal, lualatex reescreve apenas cerca de 2 MB, o que leva apenas alguns segundos na minha máquina. O motivo é que eu uso latexmkpara manipular meu documento, e os arquivos no cache são considerados quando latexmkdecido se outra execução é necessária. Como os arquivos no cache são alterados a cada execução, latexmknunca considerará o trabalho realizado, mas continuará até que o número máximo de execuções seja atingido.

Então minhas perguntas são

  • Existe uma maneira de lualatexnão reescrever os arquivos de cache?

ou

  • Existe uma maneira de latexmkignorar os arquivos de cache de fontes ao decidir se outra execução é necessária?

EditarFiz uma comparação de stix2math.lua entre duas execuções de lualatex <file>, e começa como

--- 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,

e então continua assim com mudanças de normalmente uma unidade em muitos itens.

informação relacionada