支持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跳转,例如:TeXworksTexmakerTeXmakerX。这些都是基于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的脚本。但是,如果您要使用其他编辑器,则必须根据需要调整想法。

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


这是我找到的MuPDFPPA
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.