Un visualizzatore di PDF che supporta SyncTeX per Gnome


12

Sto cercando un visualizzatore di PDF per lavorare con LaTeX e SyncTeX (ricerca in avanti e inversa) sotto Gnome. So da precedenti domande in vari forum che Okular ha questa funzione, ma preferisco non trascinare le dipendenze di KDE solo per questo.

Esiste un'alternativa che funzionerebbe bene in Gnome, senza troppe dipendenze? Non mi dispiace usare PPA, costruire dal sorgente, usare vecchi strumenti in stile X o scrivere piccoli script - Ma ho bisogno di qualcosa che è noto per funzionare e non ingombrerà troppo la mia configurazione.


Uso Emacs. Conosco abbastanza per hackerarmi, ma non riesco a scoprire quali sono le funzionalità di base di Gnome per rispondere a un clic nel PDF in base ai dati di SyncTeX.
Tavolini Bobby,

Ci sono aggiornamenti su questo? Sto usando TexStudio su Debian con Xfce e non voglio installare Ocular con tutte le sue dipendenze. Sto usando Atril (che era basato su Evince) come mio visualizzatore di pdf predefinito ma sembra che non supporti la ricerca diretta e inversa.
Sebastian Widz,

Risposte:


6

Come ho notato in un commento, sarebbe utile sapere se si ha in mente un editor specifico che si desidera utilizzare insieme ad esso.

Il plugin gedit-latex aggiunge un'anteprima PDF incorporata a gEdit, e ho capito che supporta le ricerche avanti / indietro di SyncTeX. Certamente questo è ciò che mi viene in mente quando penso a qualcosa per gli utenti di GNOME.

Esistono altri editor LaTeX con anteprima integrata che supportano i salti SyncTeX come: TeXworks , Texmaker , TeXmakerX . Questi sono tutti basati su Qt anziché su GTK, ma nessuno di questi richiede KDE o le sue librerie come fanno Kile / Okular. ( gummi è basato su GTK e ha un previewer incorporato - uno di aggiornamento dal vivo a quello - ma non credo che supporti la sincronizzazione ...)

Come nota l'altra risposta, evince presumibilmente sta ottenendo questa funzione e le persone stanno lavorando sui plugin necessari per l'interazione sul lato dell'editor. Ho capito che usa DBus per l'interazione - un grosso errore se me lo chiedi - ma come se non riuscissi a capire come funziona. Tuttavia, esiste una versione precedente di evince nel repository degli utenti di Arch Linux che è stata modificata per fornire il supporto SyncTeX più direttamente . Non ho mai provato a compilarlo su Ubuntu, anche se teoricamente dovrebbe essere possibile. L'ho usato su Arch, però, e funziona benissimo.

Personalmente, tuttavia, utilizzo MuPDF come mio visualizzatore per la composizione LaTeX, che scelgo perché è il visualizzatore di PDF più veloce che conosca e l'unico abbastanza veloce per lo script di aggiornamento live-anteprima che utilizzo con Vim come editor.

Mentre MuPDF non supporta direttamente SyncTeX, ho hackerato insieme alcuni script xdotool che forniscono supporto SyncTeX parziale. Fondamentalmente, per la ricerca in avanti, gli script chiamano syntex da VIM per capire quale pagina corrisponde allo spot nella sorgente e quindi invia i tasti appropriati a MuPDF per saltare a quella pagina. Faccio questo con uno script vim, ma con bash, qualcosa del genere potrebbe fare il trucco:

#!/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

Se hai la versione più recente di xdotool (più recente di quella nei repository Maverick), puoi raggruppare un simile tipo di ricerca inversa facendo leggere a xdotool il numero di pagina che MuPDF sta mostrando dalla sua barra del titolo, chiama synctex e quindi invia il comando appropriato all'editor per passare a dove si trova il codice per quella pagina (- non è così preciso come si otterrebbe con un vero visualizzatore di PDF conforme a SyncTeX, ma non troppo trasandato per qualcosa di leggero come MuPDF) .

Ad ogni modo, puoi leggere e scaricare gli script che effettivamente uso per vim in questo post del blog . Ma se vuoi usare un editor diverso, dovrai adattare l'idea secondo necessità.

Ma spero che presto anche la situazione con evince si risolverà.


Ecco un PPA per MuPDF che ho trovato.
JJD

+1 per Gummi. L'ho appena installato ed è fantastico! Supporta anche SyncTex ora.
JJD

3

Usa semplicemente Evince, il visualizzatore di documenti predefinito per GNOME e Ubuntu. A partire da GNOME 2.32 (presente in Ubuntu 10.10 e nell'imminente Ubuntu 11.04), Evince supporta SyncTex. Per ulteriori informazioni, consultare http://library.gnome.org/misc/release-notes/2.32/


Ho queste versioni (Ubuntu 11.04 e Gnome 2.32), ma non ho trovato il modo di configurare Evince per eseguire la ricerca in avanti o indietro. Cosa mi sto perdendo?
Tavolini Bobby il

Ctrl + F porta la ricerca .... e puoi selezionare la direzione .... o mi sto perdendo qualcosa?
Luri,

4
"ricerca in avanti", nel contesto della sincronizzazione di LaTeX, significa che è possibile passare dall'editor alla pagina corretta nel visualizzatore PDF. "Ricerca inversa" significa passare dal visualizzatore PDF al codice sorgente di un paragrafo selezionato.
Tavolini Bobby il

Mi dispiace per la mia ignoranza (in realtà, è un fraintendimento linguistico). Grazie per averlo chiarito per me.
Luri,

Quale LaTeX o editor di testo stai usando o vuoi usare?
frabjous,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.