WinEdt 已无法关闭 pdf 文件

WinEdt 已无法关闭 pdf 文件

Ulrike Fischer 的回答表明,之前类似的问题都已经过时了。最新的一个是

Adobe Acrobat Pro DC 2017 和 WinEdt 的问题

指的是 AcroviewA17 和 AcroviewR17,这些已经被编号为 18 的版本所取代。该问题答案中的其他建议对我来说也没有用,但我认为不值得详细说明原因,因为它已经过时了。

我正在使用 WinEdt 10 Build: 20170413 (v. 10.2) - 64 位,以及完全更新的 MiXTeK 2.9,以及 Acrobat Pro DC 持续发布版本 2018.009.20044。事实上,今天早上在我更新完所有内容后,这个问题就出现在我的另一台机器上。

我一直在使用“启动查看器”和“向前搜索”选项。但现在 PDFLaTeX 和 PDFTeXify 无法关闭已打开的 PDF 文件。因此它们无法进行向前搜索。

如果我上次运行时打开了 pdf,那么虽然日志文件中没有显示任何内容,但会打开一个对话框,提示

警告

无法打开指向“C:\Program Files (x86)\Adobe\Acrobat”的 DDE 链接

名为 PDFCloseDoc.edt 的文件包含以下内容:

// DDE ==================================================================== DDEOpen("%$('PDF-View')","%$('Acro-DDE_Service');","%$('Acro-DDE_Topic');"); IfOK(!"Relax;",!"DDEClose;JMP('Done');"); DDEExe('[AppHide()]');
// 从 Acrobat 8​​ 开始,DocOpen 必须执行两次,否则 Adob​​e 会崩溃!
DDEExe('[DocOpen("%P\%N.pdf")]'); DDEExe('[DocClose("%P\%N.pdf")]]');

即使没有打开 pdf,但我已设置正向搜索选项,PDFTeXify 也会创建一个新的 pdf 并打开到第一页,但是当它进行正向搜索时,它会显示相同的消息。

有没有简单的解决办法或者我应该尝试重新安装一些东西?

问题如果 Adob​​e 仍处于打开状态,则无法使用 pdftex

pdfopen / pdfclose 不适用于 Acrobat/Adobe Reader XI

描述 4 和 5 年前基本相同的问题。这些修复方法是否仍然是最佳方法,或者它们现在是否有效?

答案1

Adobe 会定期更改调用 DDE 服务所需的名称。此名称无法猜测或从注册表中提取,因此您需要自行调整 winedt 中的配置。

最新版本的 Winedt(2017 年 4 月构建)有一个在菜单中添加 DDE 名称的选项Options -> Execution Modes ->PDF-Viewer。在那里添加AcroviewR18(Reader)或AcroviewA18(Adobe Pro):

在此处输入图片描述

如果您只有一个 Adob​​e 应用程序,那么这种方法就很好用。但我有两个,并且我已向 winedt 添加了一个弹出菜单,以便使用快捷键在两个应用程序(和 sumatra)之间切换。因此,在旧版本中,我有一个本地版本的 Adob​​e.edt(见下文)来将内部变量设置为正确的 DDE 名称。

我现在重新考虑了这个解决方案。该值位于变量 ( Acro-DDE_Service) 中,因此也可以使用宏进行更改。因此,我删除了本地Adobe.edt并添加了

      Assign('Acro-DDE_Service','AcroviewR18')

      Assign('Acro-DDE_Service','AcroviewA18')

到我的弹出菜单中的命令。

我对 Adob​​e.edt 的旧更改:

R18 适用于新版 Reader。A18 适用于新版 Adob​​e Pro。宏会根据所使用的应用程序创建“AcroviewR18”或“AcroviewA18”:

 // As of Adobe X DDE Service is version-dependent (eg. AcroViewR10 or AcroViewA10)

  Assign(!'Acro-DDE_Service',!'Acroview');

  // Adobe Blues: Registry does not contain proper value for Adobe X!
  // http://forums.adobe.com/message/3323310
  IfNum('%!3','10','<',!'JMP(!"DDE_OK");');
  // Add R or A + Major Version...
  //UF LetReg(4,'R%!3');
  LetReg(4,'R17');
  //\UF
  FindInString("%$('PDF-View');",'Acrobat.exe',1,2,1000,1);
  //UF IfOK(!"LetReg(4,'A%!3');");
  IfOK(!"LetReg(4,'A18');");
  //\UF
  Assign(!'Acro-DDE_Service','%$("Acro-DDE_Service");%!4');
  // Prompt('DDE Service: %$("Acro-DDE_Service");');

更改/添加本地 .edt 文件后,重新启动 winedt。

相关内容