从命令行刷新预览


16

我有一个工作流程(在Emacs中进行LaTeX编辑),该工作流程会生成PDF,然后在Preview中对其进行检查。预览足够聪明,可以在更改PDF时重新加载它,但是只有当我单击该应用程序并将其置于前台时,它才能这样做。

有没有办法告诉预览版使用命令行重新加载文档(并留在后台)?

编辑:要跟进,我非常乐意进行一点AppleScript骇客之类的工作(我从未使用过AppleScript,但是它不会太难)。

Answers:


5

我没有想到的简单解决方案。

  • 您可以切换到使用Skim或其他支持您寻求的行为的PDF预览器。
  • 您可以“打开file.pdf”进行刷新并将“预览”置于前台,然后使用另一个命令将您的编辑器或终端置于其前面(打开file.pdf;打开-a Terminal.app)。

脱脂做我想要的;谢谢。它仍然喜欢在刷新过程中保持领先,但是我可以解决这个问题。Skim还提供了比Preview更有效的AppleScripting(您可以告诉它直接刷新)。
Reid 2010年

5

如果您想使用Applescript将Preview置于最前面,那么您需要做的就是这一行:

tell application "Preview" to activate

您也可以osascript在命令行中使用该命令来运行该脚本。需要注意一些特定的事情(转义引号和处理多行)。关于它的确切用法的示例比比皆是,并且它拥有自己的man页面。


谢谢; 那肯定会在那里。是否可以告诉Preview刷新而不显示在最前面?如何确定应用程序可以使用哪些AppleScript挂钩(或者我应该问一个新问题)?
Reid 2010年

2
@Reid并不是真的,但是您可以在脚本中添加命令以返回到以前使用的应用程序(在本例中为TeX编辑器),该命令应该足以触发Preview的刷新,并使您重新开始工作。
Martin Marconcini 2010年

@马丁,谢谢-我明白了。剩下的一个问题是窗口顺序被打乱了。我希望它保持完全相同。
Reid 2010年

这将需要摆弄每个文档(文档n)的索引,但是通常这是一个只读属性。
菲利普·里根
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.