MiKTeX 中的文本消失

MiKTeX 中的文本消失

这是一个难以重现的问题,多年来一直困扰着我。我报告了它较早,但无济于事。现在我终于能够将其归结为一个非常小的测试案例,我认为最好将其作为一个新问题。这是我的 MWE:

\documentclass{book}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{libertinus}
\usepackage{microtype}
\usepackage{amsmath}
\usepackage{geometry}
\geometry{
  paperwidth=127mm,paperheight=203mm,totalwidth=92mm,totalheight=174mm,
  includehead,includefoot,marginparwidth=0mm,marginparsep=0mm,
  headheight=0mm,headsep=0mm,footskip=9mm,hcentering,heightrounded
}
\setlength{\parindent}{1em}

\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\fancyhf{}
\fancyfoot[LE]{}
\fancyfoot[RO]{{\tiny{\sffamily\textls[150]{\MakeUppercase{Gesichter der Mathematik}}}\rule[-1.6\dp\strutbox]{.3pt}{1.4\baselineskip}}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

\newcommand\mytext{%
Erst im 20. Jahrhundert kam die volle Wahrheit ans Licht.  Die Inhalte des
Buches stammten tatsächlich von Johann, der gute didaktische Aufbau war jedoch
das Werk L'Hospitals.  Hinter der Sache stand ein Arrangement, demzufolge
Bernoulli für seine Mathematik bezahlt wurde und im Gegenzug zustimmte, seine
Ergebnisse nicht selbst zu publizieren.  Der junge Bernoulli hatte sich quasi
verkauft und das später bereut.

}

\begin{document}
\section*{Whatever}\label{whatever}
\addcontentsline{toc}{section}{Whatever}

\mytext
\mytext
\mytext
\mytext
\mytext
\mytext
\mytext
\end{document}

我使用的是 Windows 10,今天更新了 MikTeX(但问题已经存在好几年了)。如果我使用 选项从 编译此文件TeXWorkspdfLaTeX则一切都正常。如果我使用 控制台窗口编译它pdflatex test.tex,则最后一段的第一行不完整 - 见下图。(pdflatex test.tex在 Ubuntu Linux(在 WSL 中运行)上运行良好。)

这是缺少文本的行

要在我的 MWE 中引发错误,amsmath必须存在该包,尽管它没有被使用。此外,\textsl页脚中的命令似乎是必要的。整个 MWE 非常脆弱:更改一位,错误就消失了。

值得一提的是,以下是日志文件报告的两次运行之间的差异。(我注意到调用的是TeXWorksmiktex-pdftex.exe不是pdflatex.exe。但如果有一个名为的程序pdflatex.exe,它不应该按预期工作吗?)这里发生了什么?

--- pdflatex.log    2024-04-05 22:23:22.784217000 +0200
+++ texWorks.log    2024-04-05 22:20:31.551568000 +0200
@@ -1,4 +1,4 @@
-This is pdfTeX, Version 3.141592653-2.6-1.40.26 (MiKTeX 24.3.31) (preloaded format=pdflatex 2024.4.5)  5 APR 2024 22:23
+This is pdfTeX, Version 3.141592653-2.6-1.40.26 (MiKTeX 24.3.31) (preloaded format=pdflatex 2024.4.5)  5 APR 2024 22:20
 entering extended mode
  restricted \write18 enabled.
  %&-line parsing enabled.
@@ -367,16 +367,16 @@
  ) 
 Here is how much of TeX's memory you used:
  6262 strings out of 474400
- 106989 string characters out of 4507339
- 3925496 words of memory out of 8000000
+ 106989 string characters out of 5757339
+ 1932496 words of memory out of 6000000
  28534 multiletter control sequences out of 15000+600000
- 592261 words of font info for 70 fonts, out of 2000000 for 9000
+ 592261 words of font info for 70 fonts, out of 8000000 for 9000
  1141 hyphenation exceptions out of 8191
  65i,12n,69p,1003b,446s stack positions out of 10000i,1000n,20000p,200000b,200000s
 <E:/MikTeX/fonts/type1/public/libertinus-type1/LibertinusSans-Regular.pfb><E:
 /MikTeX/fonts/type1/public/libertinus-type1/LibertinusSerif-Bold.pfb><E:/MikTeX
 /fonts/type1/public/libertinus-type1/LibertinusSerif-Regular.pfb>
-Output written on test.pdf (2 pages, 261653 bytes).
+Output written on test.pdf (2 pages, 261644 bytes).
 PDF statistics:
  27 PDF objects out of 1000 (max. 8388607)
  0 named destinations out of 1000 (max. 500000)

[更新 2024-04-06]我已将代码(带有建议的调试行)和未压缩的 PDF 文件放在https://www.dropbox.com/scl/fi/ksld8e2db09m39evjncg1/MWE.zip?rlkey=61d9avkrpghs6ecmq6gp9b64o&dl=0

如果我比较这两个 PDF 文件,主要的区别似乎如下(其中第一行来自正确的输出):

[(Erst)-250(im)-250(20.)-250(Jahrhundert)-250(kam)-250(die)-250(v)8(olle)-250(W)60(ahrheit)-250(ans)-250(Licht.)-250(Die)]

[(Erst)]TJ -32626.8 0 Td [(im)-250(20.)-250(Jahrhundert)-250(kam)-250(die)-250(v)8(olle)-250(W)60(ahrheit)-250(ans)-250(Licht.)-250(Die)]

第一个是使用 编译的miktex-pdftex.exe -undump=pdflatex test.tex,第二个是用 编译的pdflatex.exe test.texTeXWorks没有涉及。(我提到这一点是因为有些人误解了我,认为这是 的问题。据我所知,这是发行版TeXWorks中的一个错误。)MiKTeXpdflatex

[2024-04-06 第二次更新]翻看我的旧电子邮件,也许我找到了罪魁祸首。几年前,我这样做了(遵循了某人的建议,我忘记了):

initexmf --edit-config-file pdflatex

将其添加到文件并保存:

pool_size=5000000
main_memory=6000000
extra_mem_bot=2000000
font_mem_size=2000000

然后运行这个:

initexmf --dump=pdflatex

使用这些设置,我得到了错误。如果我用一个空的配置文件重复这个过程,错误就消失了。

相关内容