我参考了以下文档中的“Sumatra PDF(在 Windows 上;更新于 2015-10-19)”部分:https://wiki.lyx.org/LyX/SyncTeX设置正向和反向搜索;但是,它似乎不起作用!有人在 LyX 2.3 中成功实现这些搜索选项吗?如果有,您能指导我吗?
谢谢!
答案1
来自 MyNotes [已更新至最新 2.3.3 版本 2019]
建议 MiKTeX 用户在安装 Windows 版 LyX 2.3.3+ 之前更新到最新版本。
如果您永久安装了 SumatraPDF,则只需设置 -inverse-search ONCE,同样,通过使用选项卡,我们无需浪费时间决定要处理哪个会话。请注意,SumatraPDF 中可以有多个窗口和会话,但这超出了本答案的范围。
InverseSearchCmdLine = 永久存储在 SumatraPDF-settings.txt 中。它无需由编辑器配置除非您必须重新安装或以其他方式替换 SumatraPDF-settings.txt(进行备份!)
SumatraPDF 中的设置
显著的区别是我们恢复到更稳定的 Okular cmd 文件(Okular 使用与 SumatraPDF 完全相同的调用系统),这避免了任何不必要的调用。
应该安装 SumatraPDF,以便它可以从任何系统调用运行SumatraPDF
,这意味着它必须“在路径上”(如果使用便携版本,则必须在第一次调用 Lyx 之前将 SumatraPDF.exe 临时添加到用户路径)
运行 SumatraPDF 并转到设置>高级选项,这将在记事本中打开 SumatraPDF-settings.txt,现在向下滚动条目检查或更改以下内容。
ReuseInstance = true
ReloadModifiedDocuments = true
InverseSearchCmdLine = lyxeditor.cmd "%f" %l
EnableTeXEnhancements = true
UseTabs = true
记住%l 是小写的 L,并且不要忘记到 CTRL+S(文件保存)。如果您必须将 c:...LyX\bin\ 添加到该 InverseSearchCmdLine,则您未正确安装 LyX。.cmd 文件位于 bin 文件夹中,必须位于系统路径上
LyX 中的设置
遵循 SyncTeX 指南https://wiki.lyx.org/LyX/SyncTeX
“(注意:在某些 Windows 系统上,使用此方法对文件名中含有空格或其他特殊字符的 .lyx 文件进行反向搜索并不总是有效)”
我的笔记由于这种调用管道的独特方法 [1]Windows 中的 LyX,有时要求工作文件及其路径不得有空格。因此,如果这对您不起作用,那么您将需要提出对 LyX 支持的任何问题。如果他们提供了一种更简单的方法来使用远程引用的文件名路径调用活动的 LyXserver 会话,请在下面发表评论。问题是 LyXserver 需要两个连续的值 1) SyncTeX 提供的 .tex 文件名 2) 后跟行号,因此当文件名包含空格时,第一部分可能不是有效的文件名,而第二部分显然不是数字,如果文件名被解析为较旧的 8.3 格式,它可能会起作用,但大多数现代 Windows 文件都使用 LFN 格式。lyxeditor.cmd 文件试图解决这些问题。
与其他方法相比,显著的区别是
不要添加不必要且贬值 -reuse-instance
或-inverse-search
选项/指令(它们是不是并减慢正确的-forward-search
请求。
工具 → 首选项 → 路径
•将 SumatraPDF.exe 所在的目录添加到 PATH 前缀行。(这对于永久安装来说不是必需的,但对于便携使用可能有帮助)
•将 LyXServer 管道行设置为\\.\pipe\lyxpipe
(不要使用浏览按钮)工具 → 首选项 → 文件处理 → 转换器
•选择格式 LaTeX (pdflatex) -> PDF (pdflatex)
•将输入转换器设置为
pdflatex -interaction=nonstopmode -synctex=1 $$i
•单击“修改”(否则更改将被丢弃)。
•需要此更改才能使 MikTeX 或 TeX Live 生成 FILE.synctex.gz 文件。
退出并返回检查它是否被修改了,我花了几次重置更改才将它设置好并从一个会话粘到下一个会话。
工具 → 首选项 → 输出 → 常规
•在“正向搜索”部分中,将输入 PDF 命令设置为
SumatraPDF -forward-search "$$t" $$n "$$o"
工具 → 首选项 → 文件处理 → 文件格式
•选择格式 PDF (pdflatex)
•使用命令将查看器字段设置为自定义
SumatraPDF
•您可能需要关闭所有 SumatraPDF 窗口并使用“文档 → 查看”。
•您可以直接在 SumatraPDF 中设置反向搜索命令,方法是转到上述“设置 → 高级选项”并设置反向搜索。在这种情况下,您可以将“查看器”命令简化为
SumatraPDF
此反向搜索调用工作中的任何问题都应向 Lyx 支持提出,因为这是他们推荐的方法,不是我的!
[1]原则上,在内存中使用命名管道可以加快速度并减少通过命令 shell 参数调用应用程序的需要,但是像 DDE 或 D-bus 方法一样,大多数用户都不熟悉它,并且很难轻松调试问题。
注意确保 lyx 已打开文件,确保Enable Forward/Reverse button is active then compile and view finally right click and select about 6 options down
向前搜索`
位置不是 1on1(页面可能经常看起来“关闭”)。
通过在 SumatraPDF-settings.txt 中设置,可以帮助查看正向搜索
HighlightPermanent = true
要返回相应页面,只需双击 SumatraPDF 中的任意位置,它就会调用 lyxeditor.cmd。