如何在 windt 宏中启用前向搜索?

如何在 windt 宏中启用前向搜索?

我使用 winedt 编辑 tex,使用 xelatex 编译。很长时间以来,它都运行良好。但最近不知何故,我发现 winedt 经常在点击 xelatex 编译按钮时卡住。这真的很烦人。但我不知道为什么。

所以我寻找其他方法,即使用 winedt marco 直接调用 xelatex。这是我现在使用的宏

SaveDoc(1);
Run('xelatex.exe --shell-escape --synctex=-1 "%N%T"','%P',0,0,'LaTeX ...',0,0,1);
Run('"C:\Program Files (x86)\SumatraPDF\SumatraPDF.exe" "%P\%N.pdf"','%P') 

Run命令基本上是调用 Windows CMD.exe 来运行命令。除了向前 pdf 搜索不起作用之外,它运行正常。有人知道如何在 CMD 命令中进行正向 pdf 搜索吗?

答案1

这个答案来得有点晚了,所以我希望你已经解决了 xelatex 的问题。

然而,为了完整性,并为了将此问题从未答案列表中删除,您必须按照以下步骤进行。

启动前向搜索的 SumatraPDF 命令是-forward-search,因此在您的情况下,对 WinEdt 宏的正确调用Run必须是:

  Run('%$("PDF-View"); -reuse-instance "%P\%N.pdf" '+>
      '-forward-search "%p\%n%t" %!l '+>
      '-inverse-search "\"%B\WinEdt.exe\" \"[Open(|%%f|);SelPar(%%l,8);]\""','%P');

"%p\%n%t" %!l指示应开始前向搜索的文件及其行。

-inverse-search命令告诉 SumatraPDF 再次使用 WinEdt 进行反向搜索,同时-reuse-instance告诉 SumatraPDF 如果已经打开一个窗口则不要打开新窗口。

%$("PDF-View");请注意,我已将存储默认 PDF 阅读器的 WinEdt 变量替换为 SumatraPDF 的完整路径。

如果不是这种情况,只需用完整路径替换即可:

  Run('"C:\Program Files (x86)\SumatraPDF\SumatraPDF.exe" '+>
      '-reuse-instance "%P\%N.pdf" '+>
      '-forward-search "%p\%n%t" %!l '+>
      '-inverse-search "\"%B\WinEdt.exe\" \"[Open(|%%f|);SelPar(%%l,8);]\""','%P');

相关内容