[背景:我是一个老 Unix 用户。我用的是 4 年前的 MacBook Pro,但新款 MacBook 似乎变得更糟(键盘、触控条)而不是更好。它们现在的价格也是戴尔 xps15 的两倍满足我的需要(ymmv)。所以我想试试 xps15。我认为我几乎可以在 WSL 上使用我需要的所有东西,除了以下内容:]
我需要一个带有 auctex 的 emacs,以及每当我将编辑的文件保存到磁盘时自动重新编译和显示 pdf 文件的功能。在 macos 上,我有一个脚本可以监视 tex 文件(及其包含文件)的变化,然后 Skim.app 会自动检测变化并刷新窗口。非常方便。我太老了,不想换编辑器。
Emacs 适用于 Windows,我甚至可以在 WSL 中使用它。唉,有没有一个 Windows 解决方案可以监视 tex 文件及其包含内容的变化,并更新打开的 pdf 预览窗口?
答案1
尝试 SumatraPDF便携式预发布最适合测试可以将其设置为使用 CLI 启动来回工作(使用权限问题较少),避免使用您过去见过的 DDE 方法。运行便携式 SumatraPDF 一次(以构建 settings.txt 文件),然后更改InverseSearchCmdLine = "\path to\emacsclientw.exe" -n +%l "%f"
(一些用户表示调用可能-a emacs
在 -n 之前或代替 -n 有益,但我不知道这样做的好处?)
还要确保reuseinstance = true
并且我建议HighlightPermanent = true
你不需要更改EnableTeXEnhancements = false
为 true(它将在第一次成功调用时更改,因此指示调用有效)但是因为你在那里,它可能会在测试时有所帮助设置它= true
调用 SumatraPDF 时不使用 -reuse-instance,因此忽略此部分2012 年展望文章
缺点:- 没有文件锁定时,硬编码限制为 10MB,因此如果您生成大型 PDF,它可以工作,但您可能需要在重新编译之前关闭/删除 PDF,以避免出现 emacs 错误。在工作时,它有助于保持图像分辨率较低(虚拟图像)并重置以进行最终编译。如果底层磁盘格式 ntfs/ext-fat/network/cloud 驱动器在文件之间不同,则可能会出现问题,因此看不到文件中的更改,如果在 SumatraPDF 中出现这种情况,请按 R 刷新。