SumatraPDF 任意编辑器的反向搜索

SumatraPDF 任意编辑器的反向搜索

我想同时使用 texmaker+sumatra、winEdt8+sumatra 和 texnic Center+sumatra。我在所有编辑器上都设置了 SumatraPDF 反向搜索选项。但是,在 Texnic Center 上工作时,SumatraPDF 反向搜索在 WinEdt 和 TexMaker 上不起作用。

TexMaker 设置: 在此处输入图片描述

winEdt 设置: 在此处输入图片描述

TexnicCenter 设置: 在此处输入图片描述

答案1

问题是,正如问题评论中提到的,SumatraPDF 通过 synctex 链接到 Latex 编译器,但不知道是谁创建了最终的 PDF。

您可以通过 SumatraPDF 的命令行开关使用反向搜索命令:-inverse-search。命令如下:

技术中心:

-inverse-search "\"C:\Program Files\TeXnicCenter\TEXCNTR.EXE\" /ddecmd \"[goto('%f', '%l')]\""

注意双引号的转义字符。

温埃德:

-inverse-search "\"C:\Program Files\WinEdt Team\WinEdt\winedt.exe\" \"[Open(|%f|);SelPar(%l,8)]\""

注意双引号的转义字符。

纺织制造商:

-inverse-search "\"C:\Program Files\Texmaker\texmaker.exe\" \"%f\" -line %l"

注意双引号的转义字符。

解释

大多数应用程序使用 DDE 命令进行交互。TeXnicCenter 和 WinEdt 也是如此。对于反向搜索,SumatraPDF 必须与 PDF 生成应用程序通信。在这种情况下,您必须告诉 SumatraPDF 哪个应用程序是要通信的 PDF 生成程序。这适用于我上面提到的命令行开关。通过单击 LatexIDE 中的查看按钮,您应该使用正确的参数启动 SumatraPDF。

"C:\Program Files\SumatraPDF\SumatraPDF.exe" "PathToPDF" -inverse-search "PathToEditor InverseSearchCommand"

另外,您可以使用它-reuse-instance来避免每次都打开新的 PDF 窗口。如果 LatexIDE 应用程序的路径在系统 PATH 变量中,也可以只使用 Latexide 应用程序文件名而不是完整路径。

反向搜索适用于 TeXnicCenter,因为您在 SumatraPDFs 命令行中正确添加了“TeXnicCenter 反向搜索 DDE 命令”。

在 WinEdt 中,您插入了正确的命令行开关,但没有用于反向搜索的可执行文件。因此请使用我上面提到的参数。

在 TexMaker 中你根本没用过命令行开关。添加我上面提到的参数。

网络上找到的所有信息:TeXnicCenter 和 WinEdt纺织机械制造商

答案2

这是一个我会尝试的临时解决方案(我没有尝试):只需在几个位置安装 SumatraPDF,每个位置针对不同的程序进行配置。如果配置是通过目录存储的(而不是在注册表或类似位置),我看不出这为什么不起作用。这很不雅观,但如果你不介意的话……

答案3

我没有足够的声誉来发表评论,而我的评论只是对@RoKi0815 所写内容进行小幅更新:

至少对于微软WindowsEdt 9,正确的逆向搜索命令是

-inverse-search "\"%B\winedt.exe\" \"[Open(|%%f|);SelPar(%%l,8)]\""

注意%BWinEdt 安装目录的,并且%%f和在 SumatraPDF 中将%%l变成%f和,%l以表示将打开的文件名和将通过反向搜索突出显示的源代码行(WinEdt 会将原始文件扩展%f为当前 WinEdt 文件,并%l会扩展为当前 WinEdt 行,而不是在 SumatraPDF 中双击的行)。

答案4

SumatraPDF 有一个未记录的设置,允许您选择不同的高级设置文件进行多次反向搜索。这对于便携式配置最有用,但对于普通安装也很有用。只需在每个编辑器中添加 -appdata“所需设置文件的路径”,即可取代 -inverse-search 的需要……

避免使用 DDE(不再推荐)仅使用 -inverse-search ONCE 进行设置(或在编辑器之间切换一次,不要在每次编译时重复调用它)-reuse-instance 是不需要的(基本上现在在选项卡模式下被忽略)

本论坛上关于配置 SumatraPDF 的大多数答案现在都已经过时了。避免使用 DDE 连接 SumatraPDF,尽管从 SumatraPDF 启动 TeXnicCenter 时仍然需要它,请参见以下内容。

有关 TeXnicCenter,请参阅Adobe Reader 导致 TexNicCenter 崩溃 - Alternative Sumatra

对于 WinEdt 10,请参阅如何使用 WinEdt + Okular 配置来配置反向搜索?

相关内容