几天前,我更新了我的 Miktex 2.8 安装(在 Windows 7 上)。但是,自从这样做以来,我遇到了 latexdiff 问题(它以前确实有效)。当我运行它时,我得到:
latexdiff: the Perl script could not be found
latexdiff: Data: latexdiff
因此,似乎latexdiff.exe
( 下有一个C:\Program Files (86)\MikTeX 2.8\miktex\bin\latexdiff.exe
, 下还有一个C:\Users\myname\AppData\Roaming\MikTeX\2.8\miktex\bin\latexdiff.exe
) 没有找到实际的 Perl 脚本。 下有一些 Perl 文件scripts\latexdiff
。
我已完成/检查过的事情:
我一开始以为是Perl 问题,但 perl 解释器仍然在工作,并且可以在命令行中使用
如果我这样做,perl "C:\Program Files (x86)\MiKTeX 2.8\scripts\latexdiff\latexdiff -h
脚本就可以正常工作。我已经删除了重新安装latexdiff 包同时使用了 MikTex
Package Maintenance
和Package Maintenance (Admin)
,但这没有帮助。这似乎不是一个管理员/普通用户问题因为明确调用这两个
latexdiff.exe
文件中的任何一个(全局文件或用户文件)都会产生同样的问题。其他脚本类似
texdiff
和pdfcrop
使用类似的 perl-script-redirection 设置仍然可以无问题地调用。这
miktex\config\scripts.ini
文件似乎引用了正确的路径,因为它有行latexdiff=scripts/latexdiff/latexdiff
。
虽然我注意到 latexdiff 行是仅有的几个不以 结尾的行之一.pl
(arlatex
,bundledoc
,latexpand
,latexrevise
,makeglossaries
,其中其他行没有扩展名pkfix-helper
)urlbst
.pl
我已经检查过了
miktex\config\update-<date>.log
文件,并且在最新的文件中没有latexdiff
“制作每个链接......”部分的条目,而在较旧的日志文件中,有。
我不想重新安装 MikTex 来解决这个问题。
解决方法现在,我已经创建了一种包装脚本,它调用perl "C:\Program Files (x86)\MiKTeX 2.8\scripts\latexdiff\latexdiff
,而不仅仅是latexdiff.exe
,以及我附加的任何选项。
更多背景信息:几天前我更新 MikTeX 的原因是使用 pdftex 时遇到了编译问题。我遇到了错误,I can't find file 'dehypht-x-2009-06-19.tex'.
我尝试通过更新 MikTeX 来解决这个问题。没有用。我可以通过打开 MikTex 设置程序(Windows 开始菜单 > MikTex > 维护 > 设置)并取消选择语言选项卡下的相关德语来解决这个问题。不知道这是否相关。