按照 README 页面在 MiKTeX 上安装 garamondx 时,在“initexmf.exe --edit-config-file updmap”上出现错误

按照 README 页面在 MiKTeX 上安装 garamondx 时,在“initexmf.exe --edit-config-file updmap”上出现错误

在最近的 MiKTeX 更新中它被标记为过时并被删除后,我一直尝试garamondx在 MiKTeX(在 Windows 10 机器上)上进行安装。

按照garamondx 自述文件页面,我从 CTAN 下载garamondx.tds,解压后,运行以下两个指令(进入解压后的文件夹后):

initexmf --update-fndb
initexmf --edit-config-file updmap

第一个任务毫无警告地完成,而第二个任务失败并出现以下消息:

C:\Users\yourname\Downloads\garamondx.tds> initexmf.exe --edit-config-file updmap
Sorry, but "MiKTeX Configuration Utility" did not succeed.

The log file hopefully contains the information to get MiKTeX going again:

  C:/Users/yourname/AppData/Local/MiKTeX/2.9/miktex/log/initexmf.log

You may want to visit the MiKTeX project page, if you need help.

上述文件中的相关行.log如下

2017-05-22 11:19:33,907+0100 INFO  initexmf - starting: MiKTeX Configuration Utility 2.9.6234 (MiKTeX 2.9.6210 64-bit)
2017-05-22 11:19:33,940+0100 FATAL initexmf - Windows API error 2: The system cannot find the file specified.

2017-05-22 11:19:33,940+0100 FATAL initexmf - Info: fileName="GitPad"
2017-05-22 11:19:33,940+0100 FATAL initexmf - Source: Libraries\MiKTeX\Core\Process\win\winProcess.cpp
2017-05-22 11:19:33,940+0100 FATAL initexmf - Line: 68

我做错了什么?这在 Windows 上能用吗?


鉴于从日志中可以看出 miktex 正在尝试使用GitPad,我检查并意识到(在评论中提出建议后)系统变量EDITOR已为我设置GitPad为(出于我不知道的原因)。使用 powershell 更改此变量的值后$env:EDITOR = Notepad,我尝试再次运行该命令。它仍然失败并出现相同的错误,但现在日志在另一行记录了一个错误:

2017-05-22 15:33:01,899+0100 INFO  initexmf - starting: MiKTeX Configuration Utility 2.9.6234 (MiKTeX 2.9.6210 64-bit)
2017-05-22 15:33:01,954+0100 FATAL initexmf - Windows API error 193.
2017-05-22 15:33:01,954+0100 FATAL initexmf - Info: fileName="Notepad", commandLine="Notepad C:\Users\lk\AppData\Roaming\MiKTeX\2.9\miktex/config\updmap.cfg"
2017-05-22 15:33:01,954+0100 FATAL initexmf - Source: Libraries\MiKTeX\Core\Process\win\winProcess.cpp
2017-05-22 15:33:01,954+0100 FATAL initexmf - Line: 270

该变量的预期值是多少EDITOR

答案1

在找到问题所在和解决方法之后,我想这可能对其他因类似问题而来到这里的人有用。

故障原因其实很简单:我使用的是非标准 Windows shell(Windows 上的 powershell 和 linux bash shell)。在那里,系统EDITOR变量被设置为GitPad(可能是由某些 git 安装设置的,我不确定),但即使将其重新设置为其他值,例如Notepad,使用$env:EDITOR = Notepad也不起作用,并给出了主问题中编辑中报告的错误。

解决方案是简单地切换回使用cmd。在那里,EDITOR变量未设置,并按initexmf --edit-config-file updmap预期打开记事本窗口,以便我可以继续关注README 页面上的说明

不过公平地说,这些并没有真正起作用,而且garamondx.sty仍然没有找到。再挖掘一下,我这里,我在那里了解到我必须创建一棵本地texmf树。我找到了如何做到这一点的说明另一个答案:我打开了MiKTeX Settings (Admin),在Roots选项卡中我添加了解压缩的文件夹garamondx.tds,然后单击了选项GeneralRefresh FNDB,然后Update Formats

但这还不够!文件\usepackage{garamondx}仍然无法编译,日志文件中报告了以下错误(以及其他错误):

pdflatex.EXE (file zgmr8r): Font zgmr8r at 600 not found

再次,进一步挖掘让我发现这最后一篇文章。结果我可能会跑updmap而不是updmap-sys在路上的某个地方(很有可能,因为我一直在尝试很多方法来做到这一点),而你显然应该绝对避免!无论如何,这导致pdftex.map我的电脑上出现了 2 个文件,一个在 TeX 系统中,一个在我的个人树中。我删除了个人树中的那个文件,最后我就可以garamondx再次编译文件了。

多么刺激的旅程啊!

相关内容