支持GNOME的SyncTeX的PDF查看器


12

我正在寻找在Gnome下使用LaTeX和SyncTeX(正向和反向搜索)的PDF查看器。我从各个论坛的先前问题中知道Okular具有此功能,但我不希望仅为此而拖动KDE依赖项。

有没有一种替代方案可以在Gnome中很好地运行而又没有太多的依赖关系?我不介意使用PPA,从源代码构建,使用旧的X风格工具或编写小型脚本-但是我需要一些已知的有效方法,并且不会使我的设置过于混乱。


我使用Emacs。我知道足够用它来破解它,但是我无法找到Gnome中根据SyncTeX数据响应PDF单击的基本功能。
— Little Bobby Tables

是否有任何更新?我正在Xfce的Debian上使用TexStudio,但我不想安装Ocular及其所有依赖项。我使用Atril(基于Evince)作为默认的pdf查看器,但似乎它不支持正向和反向搜索。
— 塞巴斯蒂安·维兹

Answers:


6

正如我在评论中指出的那样,这有助于了解您是否想将特定的编辑器与之配合使用。

在gedit中,乳胶插件增加了一个内置的PDF预览gedit中,我推测它支持SyncTeX正向/反向搜索。当我想到GNOME用户时,这就是我想到的东西。

还有其他带有内置预览器的LaTeX编辑器,它们支持SyncTeX跳转,例如:TeXworks,Texmaker,TeXmakerX。这些都是基于Qt的,而不是基于GTK的,但是,它们都不需要KDE或像Kile / Okular这样的库。(gummi基于GTK并具有内置的预览器-当时正在实时更新-但我认为它不支持synctex ...)

正如其他答案所指出的那样,证据表明该功能已得到使用,人们正在开发必要的插件以在编辑器端进行交互。我收集到它使用DBus进行交互-如果您问我一个大错误-但就像您不知道它是如何工作的。但是,Arch Linux用户存储库中有一个较旧版本的evince,已对其进行修补以更直接地提供SyncTeX支持。我从没有尝试过在Ubuntu上进行编译,尽管从理论上讲应该是可以的。我已经在Arch上使用了它,并且效果很好。

但是,我个人将MuPDF用作LaTeX合成的查看器,之所以选择它,是因为它是我所知道的最快的PDF查看器,并且是唯一速度足够快的实时预览脚本(与Vim作为编辑器一起使用)。

尽管MuPDF不直接支持SyncTeX,但我将一些提供部分SyncTeX支持的xdotool脚本合并在一起。基本上,对于正向搜索,脚本从vim调用synctex以确定与源中的位置匹配的页面,然后将适当的击键发送到MuPDF以跳转到该页面。我使用vim脚本执行此操作,但使用bash可以完成以下操作:

#!/bin/bash
# mupdf-forward.sh
# usage mupdf-forward.sh <line number> <column number> <tex file> <pdf file>
SEARCHLINE="$1"
SEARCHCOL="$2"
TEXFILE="$3"
PDFFILE="$4"
PAGEFORWARD=0
PAGEFORWARD="$(synctex view -i $SEARCHLINE:$SEARCHCOL:"'"'"$TEXFILE"'"'" -o "'"'"$PDFFILE"'"'" | grep -m1 'Page:' | sed 's/Page://' | tr -d '\n'")"
if [ $PAGEFORWARD -gt 0 ] ; then
   xdotool search --class MuPDF type --window %@ "${PAGEFORWARD}g"
fi

如果您拥有最新版本的xdotool(比Maverick仓库中的版本还要新),则可以通过让xdotool从其标题栏中读取MuPDF显示的页码,调用synctex和然后将适当的命令发送到编辑器,以跳转至该页面的代码所在的位置(-精度不及使用真正的SyncTeX兼容的PDF查看器,但是对于像MuPDF一样轻巧的东西来说也不太简陋) 。

无论如何,您可以在此博客文章中阅读并下载我实际用于vim的脚本。但是,如果您要使用其他编辑器,则必须根据需要调整想法。

但是希望这种情况也能很快解决。


这是我找到的MuPDF的PPA。
— JJD

为Gummi +1。刚刚安装,它很棒!现在它也支持SyncTex。
— JJD 2012年

3

只需使用Evince,这是GNOME和Ubuntu的默认文档查看器。自GNOME 2.32(在Ubuntu 10.10和即将发布的Ubuntu 11.04中发现)以来,Evince支持SyncTex。有关更多信息,请参见 http://library.gnome.org/misc/release-notes/2.32/


我有这些版本(Ubuntu 11.04和Gnome 2.32),但是我没有找到如何配置Evince来执行向前或向后搜索。我想念什么?
— Little Bobby Tables

Ctrl + F进行搜索...。您可以选择方向...。还是我错过了什么?
— luri 2011年

4
在LaTeX同步的上下文中,“正向搜索”意味着您可以从编辑器跳到PDF查看器中的正确页面。“反向搜索”是指从PDF查看器跳至所选段落的源代码。
— Little Bobby Tables

我为自己的无知感到抱歉(实际上,这是一种语言误解)。感谢您为我说清楚。
— luri 2011年

您正在使用什么LaTeX或文本编辑器,或者您想使用什么?
— frabjous 2011年
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.