Sumatra+Texstudio 反向搜索不起作用

Sumatra+Texstudio 反向搜索不起作用

我在 Win10 平台上使用 TexStudio。作为外部 pdf 查看器,我使用 SumatraPDF。昨晚我获得了 Texstudio 3.0.4(64 发行版)的新更新,从那时起,我在反向搜索方面遇到了问题。

在 texstudio 命令设置中我插入了以下行:

"C:\Users\...\AppData\Local\SumatraPDF/SumatraPDF.exe" -reuse-instance -inverse-search "\"C:\Program Files\texstudio\texstudio.exe\" \"%%f\" -line %%l" -forward-search "?c:am.tex" @ "?am.pdf"

在苏门答腊,我将反向搜索命令设置为:

"C:\Program Files\TeXstudio\texstudio.exe" "%f" -line %l

在我关闭 Sumatra 之前,一切都运行正常。事实上,如果我关闭应用程序,下次运行它时,反向搜索将不再起作用。命令行确实被重置为

C:\Program

这意味着每次打开应用程序时我都必须手动插入命令行。我注意到在启动时出现以下错误消息:

Error loading C:\Users\...\Documents\My_tex_project_here\texstudio\texstudio.exe %f -line %l

我不知道为什么它试图在那里设置 texstudio 的路径(这是我的 tex 项目的文件夹)。我不知道如何解决这个问题,除非让 Sumatra 一直运行。

答案1

Texstudio 将反斜杠转义的双引号替换为三个双引号。https://github.com/texstudio-org/texstudio/blob/master/src/execprogram.cpp#L46

到目前为止,反斜杠转义的双引号无法使用,因为该选项Tools/SupportShellStyleLiteralQuotes导致用(三重双引号)BuildManager::parseExtendedCommandLine()替换\"(反斜杠转义的双引号)"""

解决这个问题的方法是改用单引号括住inverse-search命令。

所以Texstudio设置命令是:

"C:\Program Files\SumatraPDF\SumatraPDF.exe" -reuse-instance -inverse-search '"C:\Program Files\TeXstudio\texstudio.exe" "%%f" -line %%l' -forward-search "?c:am.tex" @ "?am.pdf"

相关内容