web-dev-qa-db-ja.com

SyncTeX for GnomeをサポートするPDFビューアー

GnomeでLaTeXおよびSyncTeX(前方および逆検索)を操作するためのPDFビューアーを探しています。さまざまなフォーラムの以前の質問から、Okularにはこの機能があることがわかっていますが、このためだけにKDEの依存関係をドラッグすることは好みません。

あまりにも多くの依存関係なしで、Gnomeでうまく機能する代替手段はありますか?私は、PPAの使用、ソースからの構築、古いXスタイルのツールの使用、または小さなスクリプトの作成を気にしません。

12

コメントで述べたように、それと一緒に使用したい特定のエディターを念頭に置いているかどうかを知るのに役立ちます。

gedit-latex-plugin は、組み込みのPDFプレビューをgEditに追加し、SyncTeXの前方/後方検索をサポートすることを集めています。確かに、GNOMEユーザー向けの何かを考えるとき、それは私に思い浮かぶことです。

TeXworksTexmakerTeXmakerX などのSyncTeXジャンプをサポートする組み込みプレビューアを備えた他のLaTeXエディターがあります。これらはすべてGTKベースではなくQtベースですが、それでも、KDEやKile/Okularなどのライブラリを必要とするものはありません。 ( gummi はGTKベースであり、組み込みのプレビューア(その時点でライブ更新されます)がありますが、synctexをサポートしていないと思います...)

他の回答メモとして、evinceはこの機能を取得していると思われ、エディター側でのやり取りに必要なプラグインを開発しています。対話にDBusを使用していることを収集します(私に尋ねると大きな間違いですが)が、どのように機能するか理解できないようです。ただし、 SyncTeXサポートをより直接提供するためにパッチを当てたArch Linux User Repositoryの古いバージョンのevince です。理論的には可能ですが、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リポジトリのバージョンよりも新しいバージョン)を使用している場合、MuPDFがタイトルバーから表示しているページ番号をxdotoolに読み取らせ、synctexを呼び出し、次に、適切なコマンドをエディターに送信して、そのページのコードがある場所にジャンプします(-実際のSyncTeX準拠のPDFビューアーで取得するほど正確ではありませんが、 MuPDFと同じくらい軽量)。

とにかく、vimで実際に使用しているスクリプトについては このブログ投稿 で読んでダウンロードできます。ただし、別のエディターを使用する場合は、必要に応じてアイデアを調整する必要があります。

しかし、うまくいけば、証拠のある状況が近いうちに解消されることを願っています。

6
frabjous

GNOMEおよびUbuntuのデフォルトのドキュメントビューアーであるEvinceを使用するだけです。 GNOME 2.32(Ubuntu 10.10および今後のUbuntu 11.04にあります)以降、EvinceはSyncTexをサポートしています。詳細については、 http://library.gnome.org/misc/release-notes/2.32/ を参照してください

3
user4124