所以我想在 sublime text 2 中使用 LaTeX,然后我遇到了插件 LaTeXTools。它很好用,但需要我安装 Skim PDF Viewer。是否可以设置它,以便当我编译 latex 文件时,它会在我的 Mac 上已安装的 PDF 预览中打开它?
答案1
更新:这并不像广告中说的那样有效。
@Bordaigorl 发布了相同的解决方案后,我恢复了这篇帖子。仍有一些未解决的问题。viewPDF.py
只有在未安装 Skim 的情况下,更改才有效。
LaTeXTools 包中的 PDF 查看器在名为viewPDF.py
— 正如 @kgr 已经指出的那样。对于 OSX,您可以通过将第 44 行从以下内容更改skim
为查看器形式:preview
viewercmd = ["open", "-a", "Skim"]
到:
viewercmd = ["open", "-a", "Preview"]
但我建议不要这么做。Skim 是一款出色的 PDF 查看器,占用的硬盘空间不到 10 MiB。
答案2
LaTeXTools插件从中调用查看器viewPDF.py
。
线39至44是在 OSX 上运行时选择要调用的命令的代码:
if s == "Darwin":
# for inverse search, set up a "Custom" sync profile, using
# "subl" as command and "%file:%line" as argument
# you also have to put a symlink to subl somewhere on your path
# Also check the box "check for file changes"
viewercmd = ["open", "-a", "Skim"]
如您所见,该Skim
命令在脚本中是硬编码的,因此您无法更改任何设置来从脚本外部对其进行修改。
最简单的补丁是将第 44 行替换为
viewercmd = ["open", "-a", "preview"]
但请注意,如果您安装了Package Control
LaTeXTool 并且进行了更新,您将丢失补丁。
所以最好的解决办法是在 github 上打开一个问题建议他们可以从设置中读取要启动的命令,而不是对其进行硬编码。
答案3
Skim 目前无法在 OSX Yosemite 上运行,因此看起来我们暂时只能使用预览版。
我不确定 @arjenz 在他的评论中指的是哪一行,因为代码可能已经更改,但我无法使他的解决方案起作用。以下是我所做的:
找出jumpToPDF.py 文件,并修改以下行(提交 517c5a3 中的 62-70 行):
if plat == 'darwin':
options = ["-r","-g"] if keep_focus else ["-r"]
if forward_sync:
subprocess.Popen(["/Applications/Skim.app/Contents/SharedSupport/displayline"] +
options + [str(line), pdffile, srcfile])
else:
skim = os.path.join(sublime.packages_path(),
'LaTeXTools', 'skim', 'displayfile')
subprocess.Popen(['sh', skim] + options + [pdffile])
对此:
if plat == 'darwin':
subprocess.Popen(["open", "-a", "Preview"] + [pdffile])
我也不确定这会破坏什么,但到目前为止,该软件包运行良好。
答案4
最新的(2016 年)答案,在添加了用户可选择的查看器后错误修复 #454,是打开您的用户首选项(首选项 → 包设置 → Latextools → 设置 - 用户),并添加您选择的预览器的行。
就我而言,我将其添加到了首选项的主体中(即,不在该osx
部分中,这似乎不起作用):
{
"hide_build_panel":"no_errors",
"viewer": "preview",
....
}
这在 Latextools 中有记录Viewers 上的“手册”。还有一个命令查看者它将从命令行运行您最喜欢的查看器。