Windows XP下MiKTeX dvipdfmx停止工作,能否找到兼容解决方案?
解决Windows XP上MiKTeX 2017年9月版dvipdfmx因mgs.exe报错的问题
我完全懂你这种糟心的感受——之前用了多年的MiKTeX在Windows XP上好好的,更新到2017年9月版本后,偏偏dvipdfmx因为mgs.exe罢工,提示“不是Win32应用程序”,但其他组件还能正常工作。结合你排查的结论,这里有几个实用的解决思路:
1. 替换XP兼容的mgs.exe版本
问题核心就是新版MiKTeX附带的mgs.exe不再支持XP,那我们直接换成能在XP上跑的版本就行:
- 先找到MiKTeX安装目录下的
mgs.exe(一般在bin子目录里),备份一份以防万一; - 下载支持Windows XP的32位GhostScript版本(比如9.21及更早的版本,后续版本已经放弃XP支持);
- 把下载的GhostScript包里的
gs.exe复制到MiKTeX的bin目录,重命名为mgs.exe,覆盖原来的文件。
这样dvipdfmx调用mgs.exe时,就能用XP兼容的版本了,注意一定要选32位的GhostScript,不然还是会报同样的错误。
2. 回退到MiKTeX支持XP的旧版本
既然官方现在已经放弃XP支持,不如直接回到之前能正常运行的旧版本:
- 先卸载当前的MiKTeX,清理掉安装目录和用户配置文件夹里的残留文件;
- 找到你之前使用的、支持XP的MiKTeX版本安装包(比如2017年9月之前的版本)重新安装;
- 安装完成后,记得关闭MiKTeX的自动更新功能,避免再次被升级到不兼容的版本。
3. 绕过dvipdfmx,用其他工具链生成PDF
既然latex.exe还能正常生成.dvi文件,我们可以换个流程转PDF:
- 先用latex编译生成.dvi文件:
latex yourfile.tex - 接着用dvips把.dvi转成.ps文件:
dvips yourfile.dvi - 最后用XP兼容的GhostScript把.ps转成PDF:
gs -sDEVICE=pdfwrite -o yourfile.pdf yourfile.ps
额外提醒
因为Windows XP已经停止官方支持,后续MiKTeX的更新肯定会越来越不兼容,要是条件允许,还是建议升级到Windows 7及以上系统。但如果暂时没法升级,上面的方法应该能帮你解决当前的dvipdfmx问题。
内容的提问来源于stack exchange,提问作者Spectorsky
相关产品推荐
相关产品推荐

