Une visionneuse PDF prenant en charge SyncTeX pour Gnome


12

Je recherche une visionneuse PDF pour travailler avec LaTeX et SyncTeX (recherche directe et inverse) sous Gnome. Je sais par des questions précédentes dans divers forums qu'Okular a cette fonctionnalité, mais je préfère ne pas faire glisser les dépendances de KDE juste pour cela.

Existe-t-il une alternative qui fonctionnerait bien dans Gnome, sans trop de dépendances? Cela ne me dérange pas d'utiliser des PPA, de construire à partir des sources, d'utiliser de vieux outils de style X ou d'écrire de petits scripts - Mais j'ai besoin de quelque chose qui est connu pour fonctionner et qui n'encombrera pas trop ma configuration.


J'utilise Emacs. J'en sais assez pour me frayer un chemin avec, mais je ne peux pas savoir quelles sont les fonctionnalités de base de Gnome pour répondre à un clic dans le PDF en fonction des données SyncTeX.
Little Bobby Tables

Y a-t-il des mises à jour à ce sujet? J'utilise TexStudio sur Debian avec Xfce et je ne veux pas installer Ocular avec toutes ses dépendances. J'utilise Atril (qui était basé sur Evince) comme visionneuse PDF par défaut, mais il semble qu'il ne prend pas en charge la recherche directe et inverse.
Sebastian Widz

Réponses:


6

Comme je l'ai noté dans un commentaire, il serait utile de savoir si vous avez en tête un éditeur particulier que vous souhaitez utiliser avec lui.

Le plugin gedit-latex- ajoute un aperçu PDF intégré à gEdit, et je suppose qu'il prend en charge les recherches avant / arrière SyncTeX. C'est certainement ce qui me vient à l'esprit lorsque je pense à quelque chose pour les utilisateurs de GNOME.

Il existe d'autres éditeurs LaTeX avec des prévisualiseurs intégrés qui prennent en charge les sauts SyncTeX tels que: TeXworks , Texmaker , TeXmakerX . Ceux-ci sont tous basés sur Qt plutôt que sur GTK, mais aucun d'entre eux ne nécessite KDE ou ses bibliothèques comme Kile / Okular. ( gummi est basé sur GTK et a un aperçu intégré - une mise à jour en direct à cela - mais je ne pense pas qu'il supporte le synctex ...)

Comme le note l'autre réponse, evince est censé obtenir cette fonctionnalité, et les gens travaillent sur les plugins nécessaires pour l'interaction côté éditeur. Je suppose qu'il utilise DBus pour l'interaction - une grosse erreur si vous me le demandez - mais comme vous ne pouvez pas comprendre comment cela fonctionne. Cependant, il existe une version plus ancienne de evince dans le référentiel d'utilisateurs Arch Linux qui a été corrigée pour fournir une prise en charge de SyncTeX plus directement . Je n'ai jamais essayé de le compiler sur Ubuntu, bien que théoriquement cela devrait être possible. Je l'ai cependant utilisé sur Arch, et cela fonctionne très bien.

Personnellement , cependant, j'utilise MuPDF comme visualiseur pour la composition LaTeX, que je choisis parce que c'est le visualiseur PDF le plus rapide que je connaisse, et le seul assez rapide pour le script de prévisualisation en direct que j'utilise avec Vim comme éditeur.

Bien que MuPDF ne supporte pas directement SyncTeX, j'ai piraté ensemble certains scripts xdotool qui fournissent une prise en charge partielle de SyncTeX. Fondamentalement, pour la recherche directe, les scripts appellent synctex de vim pour déterminer quelle page correspond à l'endroit dans la source, puis envoie les touches appropriées à MuPDF pour accéder à cette page. Je le fais avec un script vim, mais avec bash, quelque chose comme ça pourrait faire l'affaire:

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

Si vous disposez de la dernière version de xdotool (plus récente que celle du référentiel Maverick), vous pouvez utiliser un type de recherche inversée similaire en faisant xdotool lire le numéro de page que MuPDF affiche dans sa barre de titre, appeler synctex et puis envoyez la commande appropriée à l'éditeur pour accéder à l'emplacement du code de cette page (--pas presque aussi précis que vous obtiendriez avec un vrai visualiseur PDF compatible SyncTeX, mais pas trop minable pour quelque chose d'aussi léger que MuPDF) .

Quoi qu'il en soit, vous pouvez lire et télécharger les scripts que j'utilise réellement pour vim dans ce billet de blog . Mais si vous souhaitez utiliser un éditeur différent, vous devrez adapter l'idée au besoin.

Mais j'espère que la situation avec evince se redressera bientôt aussi.


Voici un PPA pour MuPDF que j'ai trouvé.
JJD

+1 pour Gummi. Je viens de l'installer et c'est génial! Il prend également en charge SyncTex maintenant.
JJD

3

Utilisez simplement Evince, la visionneuse de documents par défaut pour GNOME et Ubuntu. Depuis GNOME 2.32 (présent dans Ubuntu 10.10 et le prochain Ubuntu 11.04), Evince prend en charge SyncTex. Pour plus d'informations, voir http://library.gnome.org/misc/release-notes/2.32/


J'ai ces versions (Ubuntu 11.04 et Gnome 2.32), mais je n'ai pas trouvé comment configurer Evince pour effectuer une recherche avant ou arrière. Qu'est-ce que je rate?
Little Bobby Tables

Ctrl + F amène la recherche .... et vous pouvez sélectionner la direction .... ou est-ce que je manque quelque chose?
luri

4
«recherche vers l'avant», dans le contexte de la synchronisation LaTeX, signifie que vous pouvez passer de l'éditeur à la bonne page dans la visionneuse PDF. "Recherche inversée" signifie passer de la visionneuse PDF au code source d'un paragraphe sélectionné.
Little Bobby Tables

Je suis désolé pour mon ignorance (en fait, c'est un malentendu linguistique). Merci d'avoir mis cela au clair pour moi.
luri

Quel LaTeX ou éditeur de texte utilisez-vous ou souhaitez-vous utiliser?
frabjous
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.