网络上有很多关于正向和反向搜索的内容 - 一开始它适用于我在网上找到的配置。但现在删除 ini 以返回标准选项后,它甚至无法与内置查看器配合使用。
我的设置:Windows 10、TexStudio、内置查看器、Sumtra PDF。在命令、外部 PDF 查看器下,我输入:“C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe”-reuse-instance -inverse-search "\"C:\texstudio/texstudio.exe\" \"%%f\" -line %%l" -forward-search "?c:am.tex" @ "?am.pdf"
它仍会跳转到随机位置 - 带有两个查看器。我需要什么选项?
(我还将包含在 _ 中的 .tex 文件的名称修复为 -。没有变得更好。)
答案1
我发现Alper Yazar 的博客有帮助。以下是简要总结:
步骤1. 打开配置 - TexStudio >> 选项 >> 配置 TeXstudio... 第2步 命令 >> 外部 PDF 查看器:
"C:\Program Files\SumatraPDF\SumatraPDF.exe" -reuse-instance %.pdf
步骤 3a。构建 >> PDF 查看器 >> 外部 PDF 查看器
步骤 3b。构建 >> 用户命令 >> 添加
user0:Forward Search
dde:///"C:/Program Files/SumatraPDF/SumatraPDF.exe":SUMATRA/control/ [ForwardSearch("?am.pdf","?c:am.tex",@,0,0,1)]
步骤4。快捷方式 >> 菜单 >> 工具 >> 用户:将当前快捷方式更改为 F2
步骤5.SumatraPDF >> 设置 >> 选项 >> 设置反向搜索命令行
"C:/Program Files/texstudio/texstudio.exe" "%f" -line %l
笔记:(1)请根据您的安装调整路径;(2)不要忘记步骤 5 中的引号;(3)我使用了 SumatraPDF v3.2 64 位和 TeXstudio 3.1.1;(4)在 TeXstudio tex 代码中按 F2 跳转到 SumatraPDF [正向搜索],在 SummatraPDF 中双击文本跳转到 TeXstudio [反向搜索];(5)如果需要:TeXstudio 具有正向和反向搜索,即(a)撤消步骤 3a [使用内部查看器](b)在 tex 代码中单击鼠标右键并选择“转到 PDF”(c)在 PDF 中右键单击 + 转到源文件
答案2
Sumatra 中的“设置反向搜索命令行”选项似乎默认隐藏,只有在第一次使用后才会显示。只需插入一行:
InverseSearchCmdLine = “C:/Program Files/texstudio/texstudio.exe” “%f” -line %l
不幸的是,声誉不足以发表评论。
答案3
我在 Windows 10 上使用 TeXStudio 3.2.1 和 SumatraPDF 3.3.3。
指令位于https://www.sumatrapdfreader.org/docs/Use-SumatraPDF-as-a-pre-viewer-for-LaTeX-editors似乎不再适用于这个新版本的 TeXStuido。一个可能的解决方法是使用单引号而不是双引号来'
引用 的参数,并用 TexStudio 不再识别的替换任何。-inverse-search
"
\"
"
例如,TeXStudio 和 SumatraPDF 的可执行文件的路径分别为:
C:\Program Files\TeXstudio\texstudio.exe
C:\Users\demouser\AppData\Local\SumatraPDF\SumatraPDF.exe
然后,完整的呼叫者填写外部 PDF 查看器在 TeXStudio > 选项 > 配置 TeXStudio > 命令中:
"C:\Users\demouser\AppData\Local\SumatraPDF\SumatraPDF.exe" -forward-search "?c:am.tex" @ -inverse-search '"C:\Program Files\TeXstudio\texstudio.exe" "%%f" -line %%l' "?am.pdf"
答案4
TeXStudio 配置中使用“”符号存在一些问题。因此我们可以使用以下解决方案:将其移至 bat 文件中。
runSumatraWithInverseSearch.bat
在同一文件夹中创建文件texstudio.exe
:
@ECHO OFF
"C:\Program Files\SumatraPDF\SumatraPDF.exe" -forward-search "%1" %2 -inverse-search "\"%~dp0texstudio.exe\" \"%%f\" -line %%l" "%3"
(您可以使用相对路径"%~dp0..\SumatraPDF\SumatraPDF.exe"
:)
然后将 TeXStudio 命令->外部 PDF 查看器设置为
"[txs-app-dir]/runSumatraWithInverseSearch.bat" "?c:am.tex" @ "?am.pdf"
它是如何工作的?[txs-app-dir]
— 是 texstudio.exe 文件的路径。 runSumatraWithInverseSearch.bat — 是带有足够“”符号的 bat 文件。我们将 tex 文件名、行号和 pdf 文件名传递给 bat 文件。