Le passage de docview
à pdf-tools
se produit «automatiquement» lors de l'installation pdf-tools
. Une fois que vous avez fait cela, chaque fois qu'Emacs essaie d'ouvrir un PDF dans Emacs , il l'utilisera pdf-tools
. Cependant, certains packages appellent le système d'exploitation ou utilisent une configuration différente dans Emacs pour décider s'ils doivent utiliser Emacs ou un autre programme pour ouvrir un fichier PDF. Il y a donc une configuration «outil par outil» requise pour que tous les packages Emacs utilisent les outils PDF.
Si vous voulez que vos fichiers PDF soient ouverts dans la même instance d'Emacs, vous devez le faire fonctionner en mode démon (c'est-à-dire le démarrer avec emacs --daemon
), ou appeler (server-start)
votre init pour que emacsclient
cela fonctionne.
Liens en mode organisationnel
Hors de la boîte, org-mode
ne connaît pas les outils pdf. Cependant, vous pouvez ajouter la prise en charge de l'ouverture de liens organisationnels vers des fichiers pdf avec org-pdfview , qui est disponible sous forme de package sur MELPA. Une fois installé, vous pouvez l'activer avec le code suivant dans votre .emacs
:
(eval-after-load 'org '(require 'org-pdfview))
(add-to-list 'org-file-apps
'("\\.pdf\\'" . (lambda (file link)
(org-pdfview-open link))))
Faire cela fournira un nouvel objectif d'achèvement pour ajouter des liens via C-c C-l
, pdfview:
avec le soutien pour le saut à des pages spécifiques. Les liens complets utilisent le format:
[[pdfview:/path/to/myfile.pdf::42][My file Description]]
Mode entrelacement et annotations PDF
Le mode entrelacement permet de présenter "votre PDF côte à côte avec un tampon en mode organisation avec vos notes". C'est une alternative à l'utilisation des annotations intégrées dans un pdf (ce que vous pouvez faire avec des outils pdf). Au lieu de cela, vous vous retrouvez avec un fichier en mode organisation avec toutes vos annotations, qui renvoie à la page du pdf à laquelle les annotations sont associées.
Gnus
Comme je l'ai mentionné dans mon commentaire, gnus
utilise mailcap pour ouvrir les pièces jointes. Pour configurer cela, vous avez besoin des éléments suivants dans votre .mailcap
fichier:
application/pdf; emacsclient %s
EWW
EWW utilise également mailcap, alors modifiez votre .mailcap
fichier selon Gnus ci-dessus.
AucTeX
Pour AucTeX, il existe un certain nombre d'options pertinentes:
- les téléspectateurs sont spécifiés via la variable
TeX-view-program-selection
: recherchez l'entrée output-pdf
et sélectionnez "Outils PDF" pour la valeur.
- pour utiliser SyncTex, vous devez:
- définir
TeX-source-correlate-mode
, soit de manière interactive en appelant cette fonction via Mx, soit en définissant la variable de façon permanente via M-x customize-variable
.
- assurez-vous que
TeX-source-correlate-method
comprend(pdf . synctex)
Avec cela en place, à partir de votre fichier source tex C-c C-g
devrait afficher la section correspondante du pdf.
ESS
Personnalisez la variable ess-pdf-viewer-pref
en emacsclient
.
xdg-open
Sous Linux, certains packages appellent le programme externe xdg-open
pour ouvrir des fichiers pdf. Cela utilisera vos paramètres à l'échelle du système pour déterminer le programme à utiliser. Il s'agit d'un changement à l'échelle du système, donc d'autres programmes enverront des documents PDF à Emacs lorsque vous aurez configuré cela. Donc, si vous ne voulez pas, par exemple, Firefox, faire cela, vous ne voudrez pas faire ces changements.
Pour définir emacsclient pour ouvrir les fichiers PDF à l'échelle du système via xdg-open
:
- créer un fichier
~/.local/share/applications/emacsclient.desktop
avec le contenu:
[Entrée de bureau]
Nom = Emacs Client
Exec = emacsclient% u
Icône = emacs-icon
Type =
Terminal d' application = faux
MimeType = application / pdf;
- depuis la ligne de commande, lancez:
xdg-mime default emacsclient.desktop application/pdf
Vous pouvez tester que cela a fonctionné xdg-open your-document.pdf
- il devrait s'ouvrir your-document.pdf
dans Emacs.
w3m
w3m vérifie d'abord la variable w3m-doc-view-content-types
, et s'il y voit "application / pdf", il ouvrira les fichiers PDF dans doc-view. Il s'agit d'une variable personnalisable, supprimez donc l'entrée "application / pdf" à l'aide de l'interface de personnalisation.
Sans entrée w3m-doc-view-content-types
, w3m vérifie ensuite dans la variable les w3m-content-type-alist
entrées qui correspondent à "application / pdf". Personnalisez l'entrée à lire
[INS] [DEL] Type: application/pdf
Regexp: ( ) Not specified
(*) String: \.pdf\'
Viewer: ( ) Not specified
(*) External viewer:
Command: emacsclient
Arguments:
[INS] [DEL] file
[INS]
Vous pouvez également utiliser une fonction emacs (vraisemblablement find-file
ou similaire), plutôt qu'un appel externe à emacsclient
, mais je n'ai pas pu comprendre la syntaxe pour cela.